Skip to content

[Feature]: No illness early-warning (Symptom Radar equivalent) #117

Description

@ak710

What problem does this solve?

Oura has Symptom Radar; Ultrahuman has the Sleep Screener. PulseLoop has every input and reads none of them together.

Skin temperature, resting HR, HRV, respiratory rate and SpO₂ are all stored, and personal baselines already exist in spirit (RestingHRBaselineService, BaselineStats). CoachAnomalyDetector even has a placeholder comment reserving space for a baseline-aware detector.

Individually these signals are too noisy to alert on — a warm room moves temperature, HRV swings night to night in healthy people. Together they're the earliest warning a consumer ring can give.

Proposed solution

Judge five overnight signals against their own 30-day baselines, counting only the strain direction of each — a resting HR below baseline or an HRV above it is good news, and flagging it would turn that into an alert.

Score each 0/1/2 and require agreement: a single notable signal never counts (that's a duvet), two notable or one strong is minor, three is major. Only major should fire an alert — minor happens after a glass of wine often enough that alerting would train people to dismiss the ones that matter.

Baselines should be the median of per-night figures, not a mean of every sample: one night the ring recorded 4× as often would otherwise dominate, and a single feverish night would drag the very baseline it needs judging against.

Signals without a baseline simply aren't judged, so a ring with fewer sensors still gets a useful answer from the three it has.

Nothing here should ever name a condition, and the copy should name alcohol, heat and yesterday's hard session before anything else. The Today card should be conditional — a clear night renders nothing, so it never becomes an "all clear" tile people learn to ignore.

Depends on

restingHRDrift (#112) — shares the notification-packet baseline plumbing, and this detector should outrank it since drift is one of its own signals.

Area

AI Coach (tools, prompts, on-device LLM)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions