Crayp
A focus app where you and your friends hold a button until your phones lock together
Overview
crayp is a multiplayer focus app — everyone in a session holds a button, and once everyone is holding, every other app on every phone gets blocked via Apple Family Controls. Sessions stay locked until the crew unanimously wants out, with a five-minute break flow that requires everyone to hold to agree. The stack is a SwiftUI iOS app with a Convex realtime backend, Prelude for phone OTP, APNs direct for invites, ActivityKit for the lock-screen Live Activity, and a SvelteKit marketing site. Contacts are SHA-256 hashed on-device before friend matching so raw numbers never leave the phone.
Key Points
- real-time crew sync — see who's holding the second they start
- phones actually lock via Apple Family Controls + ManagedSettings
- unanimous five-minute breaks — no one can sneak out alone
- Live Activity on the lock screen and Dynamic Island while a session runs
- streak tracking with timezone-aware day boundaries
- phone numbers and contacts hashed on-device before they leave it
- phone OTP auth via Prelude with opaque bearer tokens
Technologies
SwiftSwiftUIConvexActivityKitWidgetKitCore HapticsFamilyControlsManagedSettingsTypeScriptSvelteKitPreludeAPNs