Inspiration

Healio began with a simple problem: deciding to sleep earlier is easy, but the final minutes before bed often disappear into an open, stimulating phone. Most sleep products only explain the night afterward. Most blockers start with restriction. I wanted to explore a gentler middle ground: make the transition into rest visible before the boundary arrives.

That became the Curtain. Instead of abruptly taking the phone away, Healio starts a visual bedtime ritual before sleep. The user sets a personal schedule, chooses when the Curtain begins, and then selects the level of support they need for that particular night.

What it does

Healio is a native iOS sleep-transition companion with:

  • Named sleep windows, including night sleep and optional naps
  • A native wheel picker for Curtain timing before bedtime
  • A Bedtime Prep experience with a closing-curtain visual
  • Gentle Mode for awareness without restriction
  • Strict Mode for a deliberate sleep boundary and user-selected allowed apps
  • A sleep calendar that can display HealthKit sleep records by duration
  • An editable profile and a single permissions area for notifications, health data, app protection, and Live Activity status

The core idea is that the phone can remain available during preparation. The user first has time to slow down, then decides whether the night needs a gentle reminder or a firmer boundary.

How I built it

I built Healio as a SwiftUI iOS project with local persistence and Apple-native capabilities:

  • SwiftUI for the interface, layered wellness visual system, and responsive layouts
  • UserNotifications for Curtain and bedtime reminders
  • ActivityKit for the Curtain status concept on the Dynamic Island and Lock Screen
  • HealthKit for user-authorized sleep records
  • FamilyControls, ManagedSettings, and DeviceActivity for the Strict Mode app-protection path
  • An interactive browser walkthrough so judges can explore the product without rebuilding the iOS app

I used GPT-5.6 with Codex throughout the project. It helped me shape the original idea into the Curtain-first product flow, translate the design direction into SwiftUI components, iterate on schedule and mode interactions, build the simulator prototype, inspect UI screenshots, and prepare the testing, demo, and submission materials. I made the key product decisions, including keeping Gentle as the default, making Strict intentional rather than punitive, and keeping permissions visible and explicit.

Challenges and what I learned

The biggest challenge was matching the product promise to the realities of iOS privacy and system APIs. A third-party app cannot silently enumerate every app on a phone or intercept every app launch. Strict Mode must use Apple’s user-mediated picker and authorization model. I adjusted both the interface and documentation so the product accurately describes selected-scope shielding rather than making unrealistic claims.

I also learned that a sleep product should not feel like a crowded analytics dashboard. I repeatedly simplified the interface, improved safe-area behavior across iPhone layouts, refined light and dark themes, and made the calendar communicate sleep duration with clear visual depth. The final result is less about tracking sleep perfectly and more about helping someone create a calmer, more intentional landing at the end of the day.

What is next

The simulator prototype demonstrates the complete experience and interaction model. The next step is a signed physical-device build to validate Family Controls entitlement provisioning, real HealthKit records, notification delivery, and Live Activity behavior on supported iPhones.

Built With

Share this project:

Updates