The Problem
Standard alarms fail because dismissing them has zero psychological cost — a glance and a swipe require no engagement. Accountability Alarm makes dismissal expensive: a brief conversation with an AI that quotes your past self's reasoning, making the alarm harder to rationalize away.
What I Built
A SwiftUI + SwiftData iOS app (Swift 6) that pairs Claude Haiku conversations with notification-driven alarms. When an alarm fires, a notification opens a conversational screen where the user engages an AI that quotes their own stated reason for the alarm and escalates through four rings (Nudge → Math → Mirror → Preview) based on configurable escalation level. The AI controls alarm state (stop, snooze, resume) via hidden tags parsed from responses. Voice input (STT), TTS playback, and alarm history all integrated. MVVM with Observable view models, SwiftData for persistence. Haiku inference runs ~$0.003 per conversation.
Notable
The AI isn't generic — it's the voice of the user's clear-headed past self. The system prompt is constructed from the alarm label, the user's own voice/text reason, optional sleep target, and upcoming morning events. Tone (gentle / firm / relentless) and escalation strategy adapt across the four rings. Explicit intent detection (comply / override / snooze) and pushback resistance let the AI refuse override attempts based on escalation level.
Stack
Status
In active beta on device; public repo pending.