RepX is a comprehensive fitness tracking application built with Flutter that helps users log workouts, track progress, and get AI-generated workout recommendations.
- Welcome dashboard with user stats
- Total workouts, reps, and weight lifted tracking
- Suggested workout recommendations
- Recent workout history
- Clean, modern Material Design 3 UI
- AI-powered exercise recognition (mock implementation)
- Image capture from camera or gallery
- Real-time exercise identification
- Form analysis and feedback
- Tips for better recognition accuracy
- Manual Entry Tab: Log exercises with sets, reps, and weights
- AI Generated Tab: Personalized workouts based on fitness quiz
- Quick workout templates (Push Day, Pull Day, Leg Day)
- Workout history with repeat/delete options
- Comprehensive exercise management
- User rankings by total reps completed
- Current user position highlighting
- Mock user data for demonstration
- Medal system for top performers
- Competitive fitness tracking
- Dark mode toggle
- Notification preferences
- Workout units (metric/imperial)
- Default rest time configuration
- Fitness quiz management
- Auto-save options
- Provider: Clean, scalable state management
- AppProvider: Centralized app state with reactive updates
- Offline-first architecture with Hive persistence
- Hive: Local NoSQL database for offline functionality
- Type-safe data models with generated adapters
- Automatic data persistence and retrieval
- Mock data initialization for demonstration
// Core workout data structure
Workout {
String id
String name
List<Exercise> exercises
DateTime createdAt
int totalReps
double totalWeight
}
// User profile and leaderboard data
User {
String id, name, email
int totalReps, totalWorkouts
double totalWeight
DateTime joinDate
String fitnessLevel
List<String> goals
}
// App configuration and preferences
UserSettings {
bool darkModeEnabled, notificationsEnabled
String units
int defaultRestTime
bool autoSaveWorkouts, quizCompleted
}lib/
βββ main.dart # App entry point with Hive initialization
βββ models/ # Data models and Hive adapters
β βββ workout.dart # Workout, Exercise, ExerciseSet models
β βββ workout.g.dart # Generated Hive adapters
β βββ user.dart # User and UserSettings models
β βββ user.g.dart # Generated Hive adapters
βββ providers/ # State management
β βββ app_provider.dart # Main application provider
βββ screens/ # Main app screens
β βββ main_screen.dart # Bottom navigation container
β βββ home_screen.dart # Dashboard and stats
β βββ scanner_screen.dart # Exercise recognition
β βββ workout_screen.dart # Manual and AI workout tabs
β βββ leaderboard_screen.dart # User rankings
β βββ settings_screen.dart # App configuration
βββ widgets/ # Reusable components
βββ workout_form.dart # Exercise logging form
βββ quiz_dialog.dart # Fitness assessment quiz
- flutter: Framework
- provider: State management
- hive/hive_flutter: Local database
- image_picker: Camera/gallery access
- intl: Date formatting
- All data stored locally with Hive
- No internet connection required
- Automatic data persistence
- Mock API responses for demonstration
- Fitness quiz for user assessment
- Personalized exercise recommendations
- Difficulty adjustment based on fitness level
- Equipment-based workout customization
- Mock AI implementation for image processing
- Simulated exercise identification
- Form feedback and improvement tips
- Camera and gallery integration
- Comprehensive workout statistics
- Historical data visualization
- Personal records tracking
- Competitive leaderboard system
- Prerequisites: Flutter SDK installed
- Install dependencies:
flutter pub get - Generate Hive adapters:
flutter packages pub run build_runner build - Run the app:
flutter run
The app includes mock users and sample data for demonstration:
- 5 sample users with workout statistics
- Default user profile with customizable settings
- Pre-configured workout templates
- Sample exercise database
- Material Design 3 components
- Responsive layout for various screen sizes
- Dark mode support
- Consistent color scheme and typography
- Intuitive navigation with bottom tabs
- Card-based information presentation
Everyone is an Admin! RepX is 100% free and open source. Add your own AI API keys to enable real AI features:
- OpenAI (GPT): Get your API key from platform.openai.com
- Google Gemini: Get your API key from makersuite.google.com
- Local Models: Coming soon (TensorFlow Lite)
- Mock AI: Works offline without any API key (default)
- Open Settings β AI Configuration
- Toggle "Use Real AI"
- Select your AI Provider
- Enter your API Key
- Start using real AI features!
Your API key is stored securely on your device and never shared.
- JSON Format: Complete backup with all workout data
- CSV Format: For analysis in spreadsheets
- Import from JSON backup files
- Merge or replace existing data
- Compatible across devices
-
Download
- Get from F-Droid (coming soon)
- Build from source (see below)
-
First Launch
- Grant camera/storage permissions (optional)
- Take the fitness quiz for personalized workouts
- Start logging your workouts!
-
Optional: Enable AI
- Go to Settings β AI Configuration
- Add your API key
- Toggle "Use Real AI"
-
Prerequisites
- Flutter SDK 3.8.1+
- Android Studio / VS Code
- Git
-
Clone & Setup
git clone https://github.com/your-repo/RepX-android-main.git cd RepX-android-main flutter pub get flutter pub run build_runner build -
Run
# Android flutter run -d android # Linux flutter run -d linux # Desktop flutter run -d windows flutter run -d macos
-
Build Release
# Android APK flutter build apk --release # Android App Bundle flutter build appbundle --release # Linux flutter build linux --release
See CONTRIBUTING.md and DEVELOPER_GUIDE.md for detailed documentation.
| Platform | Status | Notes |
|---|---|---|
| Android | β Ready | API 21+ |
| Linux | β Ready | Desktop app |
| Windows | β Ready | Desktop app |
| macOS | β Ready | Desktop app |
| iOS | π§ Coming Soon | |
| Web | π§ Coming Soon |
We welcome contributions! See CONTRIBUTING.md for guidelines.
- π Report bugs
- π‘ Suggest features
- π§ Submit pull requests
- π Improve documentation
- π Add translations
- π¨ Design assets
RepX is free and open source software licensed under the MIT License.
What this means:
- β Free to use for any purpose
- β Free to modify and distribute
- β No warranty or liability
- β Must include original copyright notice
- β Workout tracking
- β AI workout generation
- β Exercise recognition (mock + real)
- β Dark mode
- β Export/Import
- β API key management
- β Offline-first
- π Cloud sync (optional)
- π Social features
- π Wearable integration
- π Nutrition tracking
- π Video tutorials
- π Progressive overload tracking
- π Rest timer with notifications
- π Custom workout builder
- GitHub Issues: Bug reports and feature requests
- GitHub Discussions: Questions and ideas
- Discord: Coming soon
- Reddit: Coming soon
Built with:
- Flutter - UI framework
- Hive - Local database
- Provider - State management
- OpenAI - AI capabilities (optional)
- Google Gemini - AI capabilities (optional)
Special thanks to all contributors and the open source community!
- π Documentation
- π Report Bug
- π‘ Request Feature
- β Ask Question
RepX respects your privacy:
- β All data stored locally by default
- β No telemetry or analytics
- β No user tracking
- β No third-party data sharing
- β Optional cloud features (coming soon)
- β Your API keys stay on your device
- π± 5 Main Screens
- π― 15+ Features
- πΎ Offline-First
- π Dark Mode
- π€ AI-Powered (optional)
- π Export to JSON/CSV
- π 100% Free & Open Source
Made with πͺ by the fitness tech community
RepX - Your fitness, your data, your control.