DEV Community

SleepTrace
SleepTrace

Posted on

What the Apple Health sleep score does not tell you

What the Apple Health "sleep score" does not tell you

Every major health platform — Apple Health, Withings, Fitbit, Whoop — now ships a sleep "score." The number looks scientific. It is not. The score is a proprietary blend of duration, consistency, and a few detected events, weighted by a formula the vendor never explains. The score is the least honest number in your health app, because it collapses a complicated night into a color and a percentage and implies an authority it does not have.

The real cost is not the number itself. It is the way it turns sleep — something every human already understands instinctively — into a task to optimize, a metric to game. A low score in the morning becomes a failure you carry into the day.

Scores optimize for the wrong loop

A well-designed sleep habit loop has three parts:

  1. An event (you slept).
  2. Information you can act on ("you snored more after your 9pm coffee").
  3. A small lever you can pull tomorrow.

A sleep score replaces part 2 with "your score is 64." There is no lever in "64." The score makes people scroll through a dashboard, not change a behavior. It is engagement theater.

What your phone already knows that the score hides

A phone-based tracker that listens at night knows things the score never surfaces:

  • Whether you turned in later than intended (the timestamp of the last detected sound).
  • Whether you had a snoring cluster around 01:00 — and whether that matches your alcohol log from 22:00.
  • Whether your breathing was restless even if your movement was low (quiet tossing).

Those are actionable. "Score: 64" is not.

The alternative: event-based feedback

SleepTrace surfaces the night as a list of detected events with confidence ranges, not a number. The default morning view answers three questions:

  1. Did I snore, and how did it change from my baseline?
  2. Did my breathing look obstructed anywhere?
  3. What is one lever I can pull tonight?

The full technical explanation of the acoustic event detection is available on the blog.

For builders: don't ship a score unless you can defend it

If you are going to assign a number, you must be able to answer: (a) what it is derived from, (b) how accurate it is, and (c) what the user does with it. Most apps cannot answer (c). Until they can, they should stop pretending sleep is a fraction to be optimized.

Top comments (0)