AI-powered personalized training app for runners and badminton players
Your intelligent training companion that adapts to your daily readiness. Get personalized workouts based on sleep, recovery metrics, and training goalsβreducing manual planning from hours to minutes.
- GPT-4o Integration - Generates sport-specific, personalized training plans
- Instant Plan Generation - Get a full week's workout in under 30 seconds
- Dual-Sport Support - Specialized plans for running and badminton
- Daily Check-ins - Track sleep quality, HRV, RHR, energy, and soreness
- Adaptive Workouts - AI adjusts training intensity based on recovery metrics
- Real-Time Modifications - Get workout adjustments mid-week based on fatigue
- Cross-Platform - iOS and Android support with React Native
- Offline-Ready - Access your training plan without internet
- Clean Interface - Intuitive design focused on what matters
- Select your sport(s): Running, Badminton, or Both
- Set your training goals and target race/event
- Choose preferred training days and weekly volume
- AI generates your personalized plan
Track your recovery metrics:
- Sleep - Hours + Quality (1-5)
- Heart Metrics - HRV & Resting Heart Rate
- Subjective Feel - Energy & Soreness levels (1-5)
- Notes - Optional daily observations
Get real-time workout adjustments:
- AI analyzes your recovery data
- Suggests modifications to today's workout
- Explains reasoning behind recommendations
- One-tap to apply or dismiss changes
- Week Overview - See all workouts at a glance
- Color-Coded - Badminton (purple), Running (orange/red), Strength (green)
- Progress Tracking - Mark workouts as complete
- Detailed Descriptions - Tap any workout for full details
Fine-tune your training:
- Update target race/event
- Adjust preferred training days
- Set days to avoid running
- Modify weekly volume goals
βββββββββββββββββββ
β User Input β
β (Goals, Prefs) β
ββββββββββ¬βββββββββ
β
βΌ
βββββββββββββββββββ
β OpenAI GPT-4o β βββ Generates personalized
β Training Plan β training plan in seconds
ββββββββββ¬βββββββββ
β
βΌ
βββββββββββββββββββ
β Daily Check-in β βββ Sleep, HRV, RHR,
β (Recovery) β Energy, Soreness
ββββββββββ¬βββββββββ
β
βΌ
βββββββββββββββββββ
β AI Adjustment β βββ Analyzes recovery data
β Algorithm β Modifies workout intensity
ββββββββββ¬βββββββββ
β
βΌ
βββββββββββββββββββ
β Optimized Daily β
β Workout β
βββββββββββββββββββ
- Framework: React Native (iOS & Android)
- Navigation: React Navigation
- State Management: React Context + AsyncStorage
- UI Components: React Native Paper
- Icons: Expo Vector Icons
- Framework: FastAPI (Python)
- Database: Supabase (PostgreSQL)
- Authentication: Supabase Auth
- AI: OpenAI GPT-4o API
- Real-time: Supabase Realtime
- Backend Hosting: Railway / Render
- Database: Supabase Cloud
- Mobile Build: Expo EAS
- Node.js 18+
- Python 3.9+
- Expo CLI (
npm install -g expo-cli) - Supabase account
- OpenAI API key
# Clone repository
git clone https://github.com/ChrisRobinT/for4thlete.git
cd for4thlete/backend
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Setup environment variables
cp .env.example .env
# Add your API keys to .env
# Run backend
uvicorn main:app --reloadcd ../mobile
# Install dependencies
npm install
# Setup environment variables
cp .env.example .env
# Add your Supabase and API URLs to .env
# Run on iOS
npx expo start --ios
# Run on Android
npx expo start --androidOPENAI_API_KEY=sk-your-openai-key
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_SERVICE_KEY=your-service-key
DATABASE_URL=postgresql://...EXPO_PUBLIC_API_URL=http://localhost:8000
EXPO_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
EXPO_PUBLIC_SUPABASE_ANON_KEY=your-anon-keyThe AI coach considers multiple factors:
if sleep_hours < 6 or sleep_quality < 3:
reduce_intensity()
reduce_duration()
elif hrv < baseline * 0.9:
reduce_intensity()
elif soreness > 3:
add_recovery_day()
elif energy < 3:
reduce_volume()
else:
proceed_as_planned()Prompt engineering for sport-specific plans:
For Runners:
- Zone-based training (Z2, Z3, tempo, intervals)
- Progressive overload principles
- Periodization for target race
For Badminton:
- Court drills (footwork, defense, attack)
- Match simulation
- Strength & conditioning specific to badminton
Combined Plans:
- Balanced volume allocation
- Strategic scheduling to prevent overtraining
- Complementary fitness development
- β iOS 13+
- β Android 8.0+
- β³ Web (coming soon)
- Workout completion tracking with stats
- Integration with Strava/Garmin/Apple Health
- Social features (share workouts, compete with friends)
- Advanced analytics dashboard
- Custom exercise library
- Video demonstrations for drills
- Nutrition tracking integration
- Coach mode (for trainers to manage athletes)
This is a personal project, but suggestions and feedback are welcome!
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenAI GPT-4o - AI-powered training plan generation
- Supabase - Backend infrastructure
- React Native - Cross-platform mobile framework
- FastAPI - High-performance Python backend
Before For4thlete:
- β° Hours spent planning weekly training schedules
- π Generic plans that don't adapt to daily readiness
- π No systematic way to track recovery metrics
- π€ Guessing when to push hard vs. when to rest
With For4thlete:
- β‘ 2-minute setup, instant personalized plan
- π― Daily workout adjustments based on recovery data
- π Systematic tracking of sleep, HRV, energy, soreness
- π€ AI coach that knows when to push and when to rest
Chris-Robin Talts
- GitHub: @ChrisRobinT
- LinkedIn: chrisrobintalts
- Email: chrisrobin.talts@gmail.com
Background: Competitive badminton player and runner who got tired of spending hours planning training. Built this to automate the process while making it smarter.
Built for athletes who train smart, not just hard πͺ
Reducing training plan creation from hours to minutes