Work / Dozy
Dozy app icon

Dozy

Brand, product design and iOS app

Our own sleep tracker and smart alarm for iPhone. We named it, drew the sloth, designed every screen, wrote 28k lines of SwiftUI and shipped it in 20 languages.

Client
Fackt, our own app
Services
Brand, product design and iOS app
Platform
iPhone, SwiftUI, iOS 26
Stack
AlarmKit, WidgetKit, HealthKit, RevenueCat, PostHog, Xcode Cloud
Dozy, brand, product design and ios app by Fackt
The build in numbers
28klines of SwiftUI across 80 files
20languages, 925 strings each
3+1paywalls plus a remote hard switch
25analytics events, no SDK
The challenge

Most sleep trackers read like a lab report: dense charts, medical words and a bright screen at 3 am. We wanted a calm friend that still tells you something useful every morning, with no wearable, just the phone on the mattress, and a real business underneath: subscriptions, paywall tests and analytics from day one.

01Brand and the sloth

Dozy, a soft and sleepy name, with a sloth as the hero. The icon is the sloth hugging its pillow on a night sky. Nunito Black for the big friendly lines, Urbanist for the interface, and a palette from deep night to a bright purple with one colour per sleep stage.

We drew a full set of sloth states and wrote the rules for when each one shows: live tracking first, then one off events, then last night's mood against your own average, then the time of day. The sloth is never sad and never blames you.

Sloth states, one for every moment of the night and the morning

02The system behind the sloth

When is which sloth. A priority ladder decides what you see, and the morning mood scale maps the score to a face, so the app always feels consistent.

Dozy: The system behind the sloth

03Type and colour

Nunito Black and Urbanist, and a palette with one colour per sleep stage, so the charts read at a glance at 7am.

Dozy: Type and colour

04The sleep engine

The phone reads the accelerometer at 10 Hz and listens for sound against a noise floor that adapts to the room. Every minute becomes one epoch, smoothed with actigraphy weights across the neighbouring minutes. Sleep starts after ten quiet minutes and stages are laid out on 90 minute cycles.

The morning score adds up duration (40), efficiency (20), deep and REM (20), how fast you fell asleep (10) and wake ups (10). Snoring and talking are caught as short clips that stay on the phone. Raw audio is never stored.

Dozy: The sleep engine

05Smart alarm and sleep sounds

The alarm runs on AlarmKit, so it rings through silent mode and Focus like the Clock app. It waits for light sleep inside a 30 minute window, snooze works from the Lock Screen as a Live Activity, and if AlarmKit is not allowed it falls back to time sensitive notifications.

The nine sleep sounds, from rain on leaves to fan hum, are synthesized live in code. No audio files ship with the app.

Dozy: Smart alarm and sleep sounds

06Widgets

Four widgets, last night, bedtime countdown, start sleep and streak, designed for light and dark, with Lock Screen versions. They read from a shared snapshot and deep link straight into the app.

Dozy: Widgets

07Notifications

Seven notification types, each with its own voice. "Psst. Bedtime in 15." comes with actions to start sleep or push it 15 minutes. If you ignore it, "Still up? Bold move." follows once, then nothing more that night.

Dozy: Notifications

08Paywalls and A/B tests

Dozy Pro is $39.99 a year with a 7 day trial or $7.99 a month, sold through RevenueCat. Three paywall layouts ship in the app, each telling a different story about Pro: the night (features), the morning (trial timeline) and Free vs Pro.

RevenueCat offering metadata decides which one people see, and one remote flag turns the soft paywall into a hard one, so every experiment is a dashboard change, not an App Store update. The layout goes to PostHog on every event and the hard or soft mode to RevenueCat as a subscriber attribute, so each purchase is tied to the paywall that sold it.

Dozy: Paywalls and A/B tests

09The moments that sell

The first morning paywall is personal: it shows how long you slept and what Dozy heard at night. Say no and a one time 40% offer appears on the third scored morning. The trial reminder lands on day 5, before anyone is charged. We also designed the retention message for Apple's cancel sheet in three options.

Dozy: The moments that sell

10Analytics

PostHog, written without an SDK: an anonymous ID, GeoIP off, an opt out toggle, events queued on the device and sent every 30 seconds. 25 events cover onboarding, nights, money and habits, from setup_check_result to second_chance_purchased, in one project shared with Ritual.

Dozy: Analytics

11Gamification

A bedtime streak with a weekly nap day, a weekly goal ring of 5 nights out of 7, score tiers from Restless to Legendary Sloth, 6 badges and a closet of 15 items the sloth earns from real habits: hats, outfits, cozy things and spots to sleep.

Dozy: Gamification

1220 languages

925 strings translated into 19 languages on top of English, from German and Japanese to Hungarian and Finnish. The App Store listing and all 7 App Store previews are redrawn for every language, with the headlines rewritten so the highlighted word still lands.

Dozy: 20 languages

13Shipping

Every push builds in Xcode Cloud and goes to TestFlight, with a separate release workflow for the App Store. A setup check before the first night makes sure the phone is plugged in and alarms are allowed. The rating prompt only shows after a night of 80 or more, never in the first 3 mornings, and "Not really" opens private feedback instead of the App Store.

Dozy: Shipping

14The App Store page

Seven App Store screenshots in the same night sky as the app, each one selling a single feature.

Dozy: The App Store page
Related serviceiOS app design and developmentFor founders who want an app people open every day and pay for. We design it, build it in SwiftUI and launch it, the same way we ship our own apps. See how we work → Related noteHow much it costs to design and build an iOS app, and what moves the price Read →

Want results like this?

Book a free 30 minute strategy call with Dom, or get a free audit of your product first.