
Slumber
An iPhone sleep coach that reads Apple Watch data and delivers personalized AI insights based on user's goals

An iPhone sleep coach that reads Apple Watch data and delivers personalized AI insights based on user's goals
An iPhone app that reads Apple Watch sleep data from Apple Health, runs it through GPT-5.2, and returns personalized coaching based on 90 nights of history. I'd been uploading screenshots from Apple Health's sleep tool to ChatGPT for advice every week, and after the third week I decided to just build the app that does it directly.
The scope a solo developer can ship in a weekend has genuinely changed — $40 of Replit credits covered a native iOS app with AI analysis, an Express API server, PostgreSQL, and Apple Health integration. When I led Riot's mobile dev team 15 years ago, this scope would have required a cross-disciplinary team and weeks of work.
Faster prototypes don't mean faster shipping — UI prototyping with Replit Agent was quick, but getting to a functional, deployed iOS app took serious work despite Replit's claim of "Idea to App Store in minutes."
AI still has major gaps in real-use testing — Replit's automated tests only covered surface-level behavior. The real bugs (HealthKit race conditions, edge cases in sleep stage calculations) only showed up when I used the app as an actual user. The AI helped me solve the errors, but I was the one discovering them.
Agents struggle to untangle a chain of dependencies — I had Liquid Glass UI working, but getting HealthKit on a real device meant react-native-health v1.x, which required old architecture, which locked me to stable Xcode 16.x, which meant no Xcode 26 beta, which meant no native Liquid Glass. Each constraint cascaded into the next. It felt like wrestling with the agent to solve dependency issues like this one layer at a time.
Unique taste and judgment don't come from the model — I picked the calming palette, defined the feature structure, and pushed for details like subtle animations and consistent typography. Left alone, the model reverts to the mean.
Vibe-coding tools build the wiring, not the guardrails — Users can add any free-response goal ("learn a foreign language," "get more muscular") and the underlying GPT-5.2 does a good job of relating it back to sleep. But I was surprised to learn that Replit Agent built the AI edge function without any system prompt guidelines to keep the sleep coach from advising on dangerous or off-topic goals like "get ridiculously skinny" or "plan revenge on someone." I had to write those topic and safety rules into the prompt myself.
Replit Agent 4 handled the full stack: Expo React Native for the app shell, Express 5 for the API server, and PostgreSQL with Drizzle ORM for persistence. AI analysis runs through GPT-5.2 via Replit's AI Integrations, with API types auto-generated from the OpenAPI spec using Orval. Native builds use EAS Build for HealthKit access on device. ChatGPT Images 2.0 generated hero image.