Notes · iOS · February 2026

Sprint 2: Building a Privacy-First Diary on Apple Native Frameworks

Published February 28, 2026 · Detroit Automation Academy · Historical engineering note — migrated from the retired blog.

Sprint 2 of the diary app is complete with a successful build. Here's what we shipped and how the architecture decisions are holding up.

The core premise

Most journaling apps ask you to trust their servers with your most personal data. This one doesn't. Every piece of data it touches — music history, calendar events, location context, photos — is processed on-device and stored with iCloud encryption. Nothing phones home.

The framework stack

FrameworkData domainPrivacy approach
MusicKitWhat you're listening toRequests user permission; no data leaves device
EventKitCalendar & remindersRead-only access to authorized calendars
ContactsNamed entities in your dayAccessed by identifier only, never bulk imported
CoreLocationWhere you areSignificant location changes only, stored as geohash
PhotosVisual memory triggersThumbnails generated locally, originals never read

Sprint 2 deliverables

MusicKit integration. Authorization flow complete. The app captures the current track at entry creation time. Album artwork is pulled from the MusicKit catalog and displayed as a contextual thumbnail.

EventKit read pipeline. Calendar events for the current day are fetched and ranked by duration and proximity to the current time. The top 3 events populate the "Today's Context" section automatically.

CoreData + CloudKit persistence. All diary entries are stored in a CoreData stack with CloudKit sync enabled via NSPersistentCloudKitContainer. Entries sync across Apple devices without ever touching a third-party server.

Successful build. Clean build against the iOS 18.0 target with zero warnings on all privacy-sensitive framework calls.

What's next

  • Entry card design: rich contextual tiles with music, location, and event context
  • Timeline view: chronological scroll with ambient colors derived from album art
  • On-device ML: using CreateML to surface recurring patterns across diary entries

This is a private project. No App Store release is planned.