Dashboard

A clear picture of last night and the week around it.

Onboarding

Setup complete

Health import, notifications, and snore recording are represented with guarded fallbacks here. The UI mirrors the native permission flow the PRD calls for while remaining safe in a browser build.

Health import

granted

Read Apple Watch sleep sessions from Apple Health when the user opts in.

Notifications

granted

Nap completion and bedtime reminder education with browser-safe fallback scheduling.

Snore recording

granted

Request microphone access only when the user opens snore check, matching the PRD.

Last night

7h 45m

Anchored to your main sleep window.

7-day average

7h 45m

Average main sleep duration across recent sessions.

Sleep debt

15m recovered

Rolling comparison against your target sleep duration.

Naps this week

3

Recovery sessions saved in the last 7 days.

Recent sleep

7-day rhythm

Total sleep + naps per day

May 3

8h 10m

May 4

7h 20m

May 5

6h 55m

May 6

6h 55m

May 7

7h 45m

May 8

7h 20m

May 9

16h 5m

Consistency

Bedtime spread

0m

Wake spread

0m

Feature gate state

Premium fallback unlocked

Use the local premium toggle to verify full-history, trends, nap presets, and snore detail access.

Recent sessions

Last imported and logged sleep

main sleep · manual

May 9, 4:36 PM to May 9, 5:36 PM

1h

QA manual entry

nap sleep · nap_timer

May 9, 2:20 PM to May 9, 2:45 PM

25m

Recovery nap

main sleep · healthkit

May 9, 10:01 AM to May 9, 5:46 PM

7h 45m

Sample Apple Health import

Segmented session: 2 sleep blocks

main sleep · healthkit

May 9, 6:35 AM to May 9, 1:30 PM

6h 55m

main sleep · healthkit

May 8, 7:00 AM to May 8, 2:20 PM

7h 20m

main sleep · healthkit

May 7, 7:25 AM to May 7, 3:10 PM

7h 45m

Interrupted by early meeting.

Segmented session: 3 sleep blocks

Permission routing

HealthKit is only explained during onboarding or import.

Microphone access is only requested when the user opens snore check.

Notifications stay optional and are represented with settings-based fallback reminders in this build.