Back to Work
Case Study

OwlRoutine

Honor your wind-down, earn your morning

A sleep-cycle alarm app that makes you earn your wake-up. Features dismiss missions (photo proof and math), a guided nightly wind-down routine, sleep scores, a clean/snoozed/struggled heatmap, and a rewards shop — backed by a native iOS AlarmKit bridge for reliable alarms.

Visit Website
React NativeExpoTypeScriptSwiftSupabaseRevenueCat
01

Dismiss Missions

Stop snoozing for real. Solve a math problem or match a bed photo (on-device pHash comparison) before the alarm will turn off.

Dismiss Missions
02

Nightly Wind-Down Routine

A guided bedtime checklist — phone down, read, stretch, meditate — with a wind-down session and timer to build a calmer pre-sleep ritual.

Nightly Wind-Down Routine
03

Sleep Scores & Analytics

Per-night sleep scores, average score, consistency rate, best day, and evening-session tracking surfaced in a clean report view.

Sleep Scores & Analytics
04

Heatmap Calendar

A color-coded monthly calendar marking clean, snoozed, and struggled mornings so progress is visible at a glance.

Heatmap Calendar
05

Native AlarmKit Bridge

Custom Swift Expo modules wrap the iOS 26 AlarmKit API for reliable, system-level alarms that fire even under aggressive OS power management.

Native AlarmKit Bridge
06

Rewards & Customization

Earn coins by completing cycles and wind-downs, then unlock avatar faces and robots — or upload a custom photo — in the reward shop.

Rewards & Customization

Technology Stack

Frontend

React NativeExpo SDK 54TypeScriptReact QueryZustandReanimated

State & Storage

ZustandMMKVReact QuerySecure Store

Native Modules

AlarmKit (iOS 26+)pHash Image MatchSwift Expo Modules

Backend

SupabasePostgreSQLApple & Google AuthJWT

Platform

Expo NotificationsNotifeeCameraSensorsHaptics

Monetization & Distribution

RevenueCatIn-App PurchasesEAS Buildi18n

App Screenshots

Alarms home screen
Nightly wind-down checklist
Sleep report and analytics
Heatmap calendar data
Add alarm screen
Rewards shop
Wind-down session
Wind-down timer

Have a Similar Idea?

Let's talk about turning your concept into a production app.

Start a Project