Inspiration

I’ve had an Apple Watch for a while, but I’ve always been frustrated by sleep scores. I found that a score can’t explain whether the issue was too little sleep, an inconsistent schedule, or a restless night

My family is also super competitive about activity and health, so I added a privacy-aware friends feature that shares our latest rings and sleep times. My grandfather checks it every morning, and it frequently comes up in our chats!

What it does

SleepKit reads Apple Health data and shows sleep as three rings: duration, consistency, and quality. It includes sleep stages, bedtime and wake-time patterns, overnight body signals, trends, iPhone widgets, and Apple Watch complications, because I’m kind of a data nerd 😜

How we built it

I built SleepKit mostly with SwiftUI and HealthKit. It uses a rolling 28-night personal baseline to compare each night with the user’s own recent pattern.

Challenges we ran into

My family’s and my own sleep data was sometimes incomplete, differed across devices, and did not work well across time zones. I had to make sure missing measurements were not treated as bad measurements.

Accomplishments that we're proud of

I’m proud of the app and how native it feels. I was lucky enough to attend dub dub this year, where I spoke with an Apple design engineer about parts of the app. Their feedback gave me some really useful direction for improving it

What we learned

Health data needs careful presentation. A chart can be accurate and still be hard to understand. When the presentation is right, though, it is satisfying to use and makes the data much more useful!

What's next for SleepKit

I’m focused on refining the trend views, expanding the insight users can draw from their own sleep patterns, and hopefully using local AI models to help with that

Built With

Share this project:

Updates

Submission history