AI-powered fitness and health monitoring — real-time exercise tracking, wearable data sync, and personalised health insights.
FitFusion is an AI-driven fitness and health monitoring app built with React Native and Expo. It pairs camera-based pose estimation with health data aggregation to give users real-time exercise feedback and a unified view of their health metrics, pulling in data from supported wearables along the way.
- AI-Powered Exercise Analysis — Real-time, camera-based pose estimation to track movement during workouts, paired with Google Gemini for personalized feedback.
- Health Data Sync — Aggregates activity, heart rate, and other metrics from supported wearables through Android Health Connect.
- Health Analytics Dashboard — Visualize trends and correlations across health metrics with interactive charts.
- Secure Sign-In — OAuth-based authentication with encrypted local credential storage.
- Smart Notifications — Reminders and health alerts to keep users on track.
- Cross-Platform — Single Expo/TypeScript codebase targeting Android and iOS.
| Category | Technologies |
|---|---|
| Framework | Expo (SDK 52), React Native 0.76, TypeScript |
| Navigation | React Navigation (bottom tabs + native stack) |
| AI | Google Generative AI (Gemini) |
| Camera & Computer Vision | Expo Camera, MediaPipe pose estimation |
| Health Data | Android Health Connect API |
| Auth & Security | Expo Auth Session, Expo Secure Store, Expo Crypto |
| Data Visualization | React Native Chart Kit |
| UI | Expo Linear Gradient, Expo Blur, React Native Animatable |
| Storage | AsyncStorage |
FitFusion/
├── android/ # Native Android project (Expo prebuild)
├── ios/ # Native iOS project (Expo prebuild)
├── assets/ # Images, fonts, and static assets
├── src/ # Application source (screens, components, services)
├── app.json # Expo app configuration
├── index.ts # App entry point
└── package.json
- Node.js 18+ and npm
- Android Studio (for Android builds) or Xcode 14+ on macOS (for iOS builds)
- A device or emulator running Android 8.0+ with Health Connect installed, for full wearable sync
- A Google AI Studio API key, for Gemini-powered features
git clone https://github.com/mithilgirish/FitFusion.git
cd FitFusion
npm installCreate a .env file in the project root for your Gemini API key:
GEMINI_API_KEY=your_google_generative_ai_key
This project uses Expo's native build workflow rather than Expo Go, since it depends on native modules like Health Connect.
npm run android # Build and run on Android
npm run ios # Build and run on iOS (macOS only)
npm start # Start the Metro/Expo dev server- Platforms: Android 8.0+, iOS 12.0+
- Wearables (via Android Health Connect): Fitbit, Mi Band, Samsung Gear, and other Health Connect–compatible trackers
Note: The current dependencies only include Android Health Connect support — there's no Apple HealthKit integration yet, so Apple Watch data sync isn't available on iOS at the moment. Worth updating this section (or adding a HealthKit bridge) if that's a gap you want to close.





