WakeProof
An alarm app that makes it impossible to sleep through
Project Overview
WakeProof is an iOS alarm app built on one idea: a normal "tap to dismiss" alarm is too easy to sleep through. So waking up means clearing a challenge first, a math problem, a shake gesture, a memory puzzle, a step count, a sound to match, or a photo/object scan, before the alarm stops.
The app uses Apple's AlarmKit (new in iOS 26) for a system-level alarm experience identical to the built-in Clock app, full lock-screen takeover, a loud alarm sound, with a UNNotification fallback for devices or situations where AlarmKit isn't available. Alarms, completion history, and statistics sync to a Cloudflare Workers backend, so a user's setup carries across devices.
Screenshots
Key Features
System-level alarms
AlarmKit (iOS 26) with UNNotification fallback
6 wake-up challenges
Math, Shake, Memory, Steps, Sound, Photo/Object Scan
Multi-mission alarms
Chain up to 5 challenges on a single alarm (Pro)
Statistics & streaks
Track wake-up consistency over time (Pro)
Cloud sync
Alarms, completions, and preferences sync across devices
Freemium via StoreKit 2
Weekly/monthly/yearly Pro plans with free trial
Localized
Multi-language support, preferred locale synced to backend
Smart reminders
Close-reminder notification to reinforce the habit loop
Meet the Mascot
A sleepy panda mascot shows up for every wake-up challenge, just as sleepy as you are.
Tech Stack
iOS App
- SwiftUI & Swift 6 (strict concurrency)
- AlarmKit (iOS 26) with UNNotification fallback
- SwiftData for local persistence
- StoreKit 2 for subscriptions
- WidgetKit home screen widget
Backend
- Hono on Cloudflare Workers
- Cloudflare D1 (SQLite) with Drizzle ORM
- Better Auth for authentication
- App Store Server Notification (JWS) verification
- Push token registration & cloud sync
Have a useful problem to solve?
Tell me what you are making, where it is getting stuck, and what a good outcome looks like.