WakeProof

An alarm app that makes it impossible to sleep through

Personal Project August 2026
WakeProof app screen and panda mascot holding an orange alarm clock

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

WakeProof alarm overview with scheduled alarms, challenges, and sound labels
WakeProof wake-up challenge collection
WakeProof alarm sound library
WakeProof wake-up activity and statistics
WakeProof home screen widget showing the next alarm and challenge
Alarm list showing upcoming alarms with challenge and sound tags
Missions library listing Classic, Math, Shake, Photo/Object Scan, Steps, and Memory challenges
Sound library with a searchable list of alarm ringtones
Statistics screen showing a 45-day streak and 107 total wins
Large home screen widget showing the next alarm and its challenge
Small home screen widget showing the next alarm time

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.

Contact Johan