
I built a privacy-first iOS fitness dashboard with Expo + React Native — everything is processed on-device (open source)
I've been working on EdgeFit, a small iOS app that reads activity data from Apple Health and keeps everything local: processed daily summaries live in SQLite on the device, and insights are generated on the device too. No account, no backend, no analytics.
**What it does**
- Dashboard with steps, active energy, active time, workouts and an Activity Score (with a breakdown of how it's computed)
- 7-day charts (custom SVG), where missing days are drawn as gaps instead of zeros
- Workouts list, plus a Privacy Center and a "clear local data" option
**Tech**
- Expo SDK 57 + Expo Router (NativeTabs), TypeScript
- `@kingstinct/react-native-healthkit` for Health data, behind a `HealthService` interface so a mock provider powers the demo mode
- `expo-sqlite` + a small repository layer
- TanStack Query for the sync/read flow
- Charts and icons drawn with `react-native-svg` — no icon or chart library
**Why**: it's the first step of an Edge-AI experiment. The insight engine is deterministic rules today, but it's behind an interface so it can be swapped for an on-device model later.
Screenshots are in the post (demo data). Code is MIT: https://github.com/raviseta/edgefit
I'd love feedback on the architecture and the UI — especially how you'd structure the HealthKit permission/denied states.