u/raviseta07

I built a privacy-first iOS fitness dashboard with Expo + React Native — everything is processed on-device (open source)
▲ 4 r/expo+1 crossposts

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.

u/raviseta07 — 4 days ago