Inspiration

I struggled with poor sleep in my 40s and tried every sleep tracking app out there. They were all overwhelming - cluttered interfaces, tiny text, complicated charts I couldn't interpret, and dozens of metrics I didn't understand. Worse, most of them sent my health data to third parties. I just wanted simple answers: why do I sleep well some nights and terribly on others? That's when I realized there was no sleep tracker designed for people like me - over 40, privacy-conscious, and looking for clarity, not complexity. So I built SleepRiddle.

What it does

SleepRiddle tracks your sleep and finds patterns between your rest quality and what's happening around you. It shows your sleep stages (light, deep, REM), recovery metrics from your Apple HealthKit, and correlates them with noise levels, screen time, caffeine, and alcohol intake. Everything is presented in large, easy-to-read text with simple explanations. You get weekly, monthly, and yearly trends to see what actually helps you sleep better. All your data stays private - no sharing, no selling, no third parties

How we built it

I built SleepRiddle entirely with native Apple technologies. SwiftUI handles the clean, accessible interface with Dynamic Type support for readable text at any size. SwiftData manages all data persistence, syncing everything through CloudKit's private database for end-to-end encryption. HealthKit integration pulls sleep data from iPhone and enhanced metrics from Apple Watch when available. I implemented a protocol-oriented architecture with MVVM pattern to keep the codebase maintainable. The design system features high-contrast colors, minimum 44pt touch targets, and three built-in themes optimised for older eyes. Everything processes on-device before cloud sync to maintain privacy.

Challenges we ran into

The biggest challenge was making HealthKit data actually understandable. Raw sleep data from Apple Health is complex - sleep stages, heart rate variability, respiratory rates - it's overwhelming. I spent weeks figuring out how to calculate meaningful metrics like recovery scores and sleep quality percentages that match what people actually feel. Environmental correlation was tricky too - connecting caffeine intake at 3 PM to sleep quality 8 hours later required careful data modeling. Making the app work gracefully without an Apple Watch was another hurdle, since many users only have iPhones. Balancing feature richness with simplicity for 40+ users meant constant iteration on the UI.

Accomplishments that we're proud of

I'm proud that SleepRiddle genuinely respects user privacy in an industry that doesn't. Zero third-party analytics, zero data selling, complete transparency. The accessibility work paid off - every screen supports Dynamic Type, high contrast modes, and large touch targets. I'm also proud of the onboarding flow that explains HealthKit permissions clearly without being patronising. And the app works beautifully with just an iPhone, getting even better with an Apple Watch - true graceful degradation.

What we learned

I learned that building for 40+ users isn't about dumbing things down - it's about respecting their time and intelligence with clear, purposeful design. Large text isn't just accessibility, it's good design for everyone. Privacy isn't a feature, it's a fundamental requirement that shapes every technical decision. I also learned that Apple's native frameworks are incredibly powerful when used together - SwiftUI, SwiftData and HealthKit create a complete ecosystem without any third-party dependencies. Most importantly, I learned that the best apps solve real problems for real people, not imaginary ones.

What's next for Sleep Riddle

Next, I want to add smart recommendations based on your patterns using on device intelligence - personalized suggestions like "your sleep improves 23% when room temperature is below 68°F." I'm planning a journal feature where you can note stressful days or life events and see how they correlate with sleep. Integration with smart home devices (HomeKit) could automatically track room temperature and lighting. A simple sharing feature to export sleep reports for doctors would help users discuss sleep issues with healthcare providers. Long-term, I'd love to add a community insights feature that shows anonymous, aggregated patterns while maintaining individual privacy - like "people who sleep well typically limit screen time 90 minutes before bed.

Built With

Share this project:

Updates