Projects.

PowerNap Adaptive / Wear OS

Personal project · beta in development

A short nap. A clear cutoff.

PowerNap Adaptive runs entirely on a Wear OS watch. It uses movement and heart-rate readings to estimate when you fall asleep, then wakes you with a vibration after your chosen rest period. A separate alarm sets an overall time limit for the nap.

Settings screen on a Pixel Watch 4
Settings screen on a Pixel Watch 4
Platform
Wear OS · Pixel Watch 4
How it works
On-device · no phone or account
Status
MVP being tested

01 / Experience

A nap in three steps.

Set a sleep target and an overall time limit right on the watch. The Tile gives you a quick way in and shows when a session is running.

01

Set

Choose 5 to 30 minutes of sleep, with an overall limit of up to 60 minutes.

02

Estimate

The watch checks movement and heart rate in 30-second windows to estimate when sleep begins.

03

Wake

It vibrates when the target or time limit is reached. You can also end the session yourself.

Start screen and permission prompts on the watch
Start screen and permission prompts on the watch

02 / Engineering

The time limit comes first.

Before it starts reading sensors, the app saves the session and schedules the maximum-time alarm. The adaptive wake-up alarm is separate, so it never replaces that cutoff.

TileServiceSensor readingsSleep-onset estimateVibration
A separate time limit

If heart-rate data is unavailable, the app uses movement alone. Without accelerometer data, it switches to a fixed timer. If the process stops, its alarms remain in place and the app shows safe mode. Without exact-alarm permission, Android may delay the cutoff.

03 / Decisions

Only the data it needs.

Algorithm mvp-5

Looks at stillness, heart-rate drop and stability, and time elapsed. It confirms a tentative sleep-onset estimate before using it.

Data on the watch

Room stores sessions, diagnostic events and summary windows on the watch. It does not store raw sensor signals or PPG.

No external infrastructure

No backend, accounts, ads or third-party analytics.

Kotlin · Compose for Wear OS · Tiles / ProtoLayout · Coroutines / StateFlow · Room · AlarmManager

An experimental app, not a medical device. Its sleep-onset estimate cannot identify REM sleep or replace a clinical measurement. The algorithm is still being calibrated.