Work / Personal Data / Quantified Self
24/7 background data capture on iOS
- Platform
- iOS
24/7 background data capture on iOS
Personal Data / Quantified Self
Industry: Personal Data / Quantified Self
Platform: iOS
Stack: Swift · HealthKit · CoreLocation · AVFoundation · SQLite · BGTaskScheduler
Description: Always-on iOS pipeline streaming three sensor streams to a user backend on a fixed power budget.
The engineering surface was iOS background-execution against an adversarial platform: three concurrent sensor streams, fixed-cadence uploads, and a strict battery ceiling. SQLite became the single source of truth — every sample writes to disk before any upload attempt. Multiple keep-alive vectors layered on top of one another (location background, audio session, background-processing tasks, a custom DispatchSourceTimer-based reliable timer). Audio interruptions wired into four distinct notification channels for sub-second recovery. Low-power mode required explicit detection and queue-flush coordination to avoid unbounded backlog.
We owned the refactor of the data pipeline, the protocol-based dependency injection layer, the upload coordinator, and the App Store-compliance hardening. The client owned the product concept and the user-controlled backend.
Engagement: ~3-month hardening engagement · single iOS specialist · 2025.
Engineering signal: upload reliability above 95%; daily battery drain inside a 15-25% ceiling; audio-interruption recovery under one second.