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)

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