Bedtime Snuggles
An AI children’s storytelling app for iPhone and iPad. Stories are generated on-device with Apple Intelligence, with privacy built into the architecture rather than promised in a policy.
01Problem
Parents want fresh, personalized bedtime stories, but a children’s app that sends a child’s name, interests, and prompts to a cloud service raises real privacy concerns — and depends on connectivity at the exact moment a child is going to sleep. The challenge was to deliver personalized, on-demand stories without collecting data or requiring an account or network connection.
02Product
Bedtime Snuggles generates personalized bedtime stories on the device. A parent provides a few inputs; the app produces a complete, age-appropriate story locally. There are no accounts, and the app does not collect or upload personal data.
03Architecture
The privacy boundary is the device. No story content, inputs, or identifiers cross the network.
04Engineering decisions
Why on-device generation?
The users are children. Keeping generation local removes an entire class of data-handling and compliance risk, and keeps the app working offline at bedtime.
Why Apple Foundation Models?
Apple Intelligence provides a system-level, on-device language model, so the app ships without bundling or downloading its own weights, and inference uses the device’s existing acceleration.
Why SwiftData for storage?
Saved stories are structured local records with a simple object model. SwiftData keeps persistence native and on-device, with no server to synchronize.
What happens when the model is unavailable?
On-device model availability depends on device and OS support. The app checks capability up front and communicates clearly rather than silently failing when generation can’t run.
What are the privacy boundaries?
Everything — inputs, generation, and saved stories — stays on the device. There are no accounts and no analytics collecting personal data.
How is output kept appropriate?
Generation is guided with structured prompting and constrained output so stories stay age-appropriate and consistently formatted.
05Implementation
- Generation — guided prompting against Apple’s Foundation Models with constrained, structured output.
- UI — built in SwiftUI, with a reading flow designed for a calm bedtime context.
- Persistence — saved stories modeled and stored locally with SwiftData.
- Capability handling — on-device model availability is detected and handled explicitly.
06Production
- Published and live on the App Store.
- Runs entirely on-device; no backend to deploy or operate.
- No accounts and no personal data collection.
07Current status
Live production Available on the App Store and in active maintenance.