How to build a resilient activity tracker with Expo
Blog post from Expo
Daniel Vinojčić describes how Calda built resilient Expo-based walking sessions that continue tracking through backgrounding, crashes, and process termination by treating persisted state rather than in-memory state as authoritative. The system uses Expo TaskManager and background location services, platform-specific permissions and service settings, and recovery logic that reseeds tracking after restarts while acknowledging limits such as user force-quitting an app and aggressive Android battery managers. To improve distance accuracy, it filters poor GPS fixes, rejects vehicle-like speeds and outliers, applies Kalman smoothing, and primarily integrates Doppler-derived speed over time instead of summing noisy position changes. It protects session data through layered persistence, serialized monotonic merges between foreground and background writers, server-side monotonic updates, and offline-aware relaunch recovery. Step tracking uses iOS Core Motion and a custom Kotlin Expo Module for Android sensors, with activity recognition and cumulative counters helping preserve counts across process loss. The project argues that modern Expo tooling can support sophisticated cross-platform activity tracking, native modules, and iOS Live Activities without abandoning the managed workflow.
| Trend | Post Mentions | Total Month Mentions | Posts | Companies | MoM |
|---|---|---|---|---|---|
| Real-time | 1 | 4,432 | 1,050 | 222 | -31% |
Use this post, company, and trend context to find content marketing opportunities, perform competitive analysis, or address product feature gaps via the Plushcap MCP server or the Plushcap API.