Skip to content

mithilgirish/FitFusion

Repository files navigation

FitFusion

AI-powered fitness and health monitoring — real-time exercise tracking, wearable data sync, and personalised health insights.

React Native Expo TypeScript Platform

Table of Contents

Overview

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.

Screenshots

Features

  • 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.

Tech Stack

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

Project Structure

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

Getting Started

Prerequisites

  • 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

Installation

git clone https://github.com/mithilgirish/FitFusion.git
cd FitFusion
npm install

Environment Variables

Create a .env file in the project root for your Gemini API key:

GEMINI_API_KEY=your_google_generative_ai_key

Running the App

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

Supported Devices

  • 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.

About

An AI-powered fitness and health monitoring mobile app built with React Native.

Topics

Resources

Stars

2 stars

Watchers

2 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors