Inspiration

I kept promising myself I’d read before bed… and then I’d blink and realize I’d spent 90 minutes doomscrolling. It wrecked my wind-down, crept into my sleep, and the next morning felt foggy. Dozzi started as a selfish fix: a calm, opinionated bedtime “bouncer” that protects my reading habit and my sleep.

What it does

Dozzi turns the bedroom back into a sleep zone. You set your bedtime/wake time and pick the 3–5 apps that derail your nights. Dozzi enforces a pre-sleep lock and a gentle post-wake buffer using Apple’s Screen Time / Family Controls.

How we built it

SwiftUI + Combine on top of Apple’s FamilyControls/DeviceActivity for enforcement, with a small state layer and AppStorage for persistence. The user sets bedtime/wake and optional offsets; we compute one schedule that survives app kills/restarts. A time-aware gradient UI, glassy cards, and a guided permissions flow (Screen Time auth → pick apps → confirm timeline) keep everything calm and clear.

Challenges we ran into

Honestly, time. The only tricky bits were smoothing the FamilyControls authorization flow and making the schedule rock-solid across restarts and time-zone shifts, nothing dramatic.

Accomplishments that we're proud of

Shipped v1 to the App Store with a polished, crash-free core. The schedule model is predictable and resilient, and onboarding feels friendly while the main screen always shows exactly where you are in the night/daytime.

What we learned

Behavior > features: one firm constraint (protect the wind-down) beats a dozen toggles. Defaults shape habits, so we made the calm path the easy path. And when you explain the “why” and “how long,” users accept limits without friction.

What's next for Duzzi

I’m experimenting with three add-ons: a Reading Habit Tracker (pages/minutes, streaks, nightly target with gentle nudges), a Caffeine Half-Life Visualizer (see when that 5pm coffee actually clears your system and get a smart “last-sip” reminder), and a Sleep Debt Tracker (weekly “hours owed” ring plus a simple payback plan so you recover without oversleeping). Still iterating on UX, shipping the most helpful pieces first.

Built With

Share this project:

Updates