Your silent guardian.
Across-platformcheckenginelightforburnout
Before you crash. Custod reads invisible stress signals from your browser, computer, phone, and desk — and delivers one real-time status: green, yellow, or red.
One score. Every device. Updated every five minutes.
The name Custod comes from custodian — a guardian that watches over you quietly, without interruption, and only speaks up when something is wrong.
How Custod works
Four interconnected components sync through a central Supabase cloud hub. Every five minutes, each sends a feature vector to an ML scoring engine. The result propagates instantly to every connected device.
Supabase Hub
Postgres + Realtime sync across all devices
ML Edge Function
TensorFlow Lite · 20-feature vector · score 0–100
Collect
Each component measures behavioral and physiological signals locally.
Score
A TensorFlow Lite Edge Function returns a 0–100 burnout score with triggers and a micro-intervention.
Sync
Supabase Realtime pushes the status to every device — badge, menu bar, widget, and desk LED.
Burnout doesn't arrive suddenly
It builds invisibly through patterns that feel normal in the moment.
Too many browser tabs. Working past midnight. Constant task switching. Deteriorating sleep. Phone addiction spirals. By the time someone recognizes they are burning out, they are already deep into it.
Existing tools either require active self-reporting — how are you feeling today? — or are clinical interventions that come far too late. There is no passive, ambient system that detects burnout early using the behavioral data devices already produce.
Custod is that system.
What Custod is
Custod is a privacy-first, multi-platform burnout detection system that reads invisible stress signals from your browser, computer, phone, and physical environment simultaneously.
It fuses all of those signals through a machine learning scoring engine and delivers a single, real-time burnout status — green, yellow, or red — across every device you own, including a physical ambient light on your desk.
It watches the patterns your devices already produce when you are stressed — tab chaos, late-night sessions, declining HRV, hunched posture, fragmented focus — and tells you what those patterns mean before you consciously recognize them yourself.
The four components
Browser, computer, phone, and desk — each measuring different invisible stress signals.
Chrome Extension
Runs silently in the background of your browser.
- Tab count and switching rate
- Distraction tab ratio and duplicate tabs
- Stress keyword searches in titles and URLs
- Unbroken work session length
- Spiral mode (rapid switching sustained)
- Late-night flag and frustration events
Defining feature
Updates the browser badge color every five minutes. Crosses into red? A non-blocking notification with a one-click 3-minute breathing reset.
macOS App
Lives in the menu bar as a small brain icon.
- Active app focus percentage (work vs distraction)
- Unbroken session length
- Late-night usage detection
- Blink rate via Vision framework
- Blink deviation from 15/min baseline
Defining feature
Samples one camera frame every five seconds, computes eye aspect ratio, and discards the frame. No video is ever stored.
iOS App
Reads HealthKit and CoreMotion signals.
- HRV vs 30-day personal baseline (>15% drop = stress)
- Sleep efficiency from previous night
- Phone pickups per hour
- Late-night usage
Defining feature
Home screen widget shows live score. Push notification the moment any device crosses into red.
Arduino Desk Device
Physical ambient check engine light.
- Room temperature (thermistor)
- Posture score via HC-SR04 ultrasonic sensor
- Ambient light level (photoresistor)
- Dark-room late-night flag
Defining feature
RGB LED glows green, pulses amber, or flashes red. Three-chime buzzer on red. Mac app bridges USB serial to Supabase — no WiFi required.
The machine learning layer
A TensorFlow Lite model runs as a Supabase Edge Function — fusing signals from all four sources into one score.
Feature vector
Drawn from all four components — browser behavior, macOS focus, blink rate, iOS HRV and sleep, hardware posture and environment.
Burnout score
Returns status (green, yellow, red), confidence, top trigger attribution, and a micro-intervention.
Rule-based fallback
Trained on synthetic labeled data for the demo. A local fallback ensures the system works fully if the Edge Function is unreachable.
Signal summary
| Source | Signals |
|---|---|
| Chrome | Tab count, switch rate, distraction ratio, stress searches, spiral mode, frustration events, session length, late night |
| macOS | Work app focus %, session duration, late night, blink rate, blink deviation from baseline |
| iOS | HRV vs 30-day baseline, sleep efficiency, phone pickups per hour, late night |
| Arduino | Room temperature, posture score via ultrasonic distance, ambient light level, dark room flag |
Privacy by design
Custod minimizes data exposure at every layer. It watches patterns — not your private content.
No message reading
The Chrome extension never reads page content — only tab counts, titles, and URLs. Custod is not a mental health chatbot. It is not therapy.
No video storage
The macOS app samples one camera frame every five seconds, computes a number, and discards the frame immediately.
Encrypted health data
HealthKit data never leaves the device unencrypted. No behavioral data is sold or shared.
Your own Supabase project
All data is stored in the user's own Supabase project under their own credentials.
Frequently asked questions
No. Custod is not a mental health chatbot and not therapy. It does not read your messages, emails, or thoughts. It watches patterns your devices already produce when you are stressed and tells you what those patterns mean before you consciously recognize them.
Green (0–40) means your signals look healthy. Yellow (41–70) means caution — stress patterns are building. Red (71–100) means burnout risk is high and a micro-intervention is recommended. The same status appears on every connected device simultaneously.
Each component sends a feature vector every five minutes. The ML scoring engine returns a result that propagates instantly via Supabase Realtime to your browser badge, menu bar icon, iOS widget, and desk LED.
Yes. A rule-based local fallback ensures the system works fully if the Supabase Edge Function is unreachable. Components continue measuring signals and estimating status locally.
The Chrome extension needs tab access (not page content). The macOS app needs camera access for blink detection and accessibility for app focus. iOS needs HealthKit and motion permissions. Arduino connects via USB through the Mac app.
Students and young professionals who work across multiple devices, push through fatigue without recognizing it, and would never self-report stress into a wellness app. Plug it in, grant permissions once, and it runs silently — watching, scoring, and only speaking up when it matters.
Built for people who push through fatigue
Students and young professionals who work across multiple devices and would never self-report stress into a wellness app.
Custod requires no behavior change and no active input. You plug it in, grant permissions once, and it runs silently in the background of your existing workflow — watching, scoring, and only speaking up when it matters.