Get Started in 5 Minutes
This guide will get you from zero to running the Rippler app on your phone or simulator as quickly as possible. For a more detailed setup, see the Installation guide.Prerequisites: You need Node.js 18+ and npm installed. Check with
node --version and npm --version.Quick Setup
Clone and Install
Clone the repository and install dependencies:This will install all required packages including Expo, React Native, and dependencies.
Start the Development Server
Run the Expo development server:This starts the Expo dev server with proper environment variables configured for React Native.
Open on Your Device
Choose how you want to run the app:
- Physical Device
- iOS Simulator
- Android Emulator
- Web
iOS:
- Install Expo Go from the App Store
- Open the Camera app
- Scan the QR code in your terminal
- Tap the notification to open in Expo Go
- Install Expo Go from the Play Store
- Open Expo Go
- Tap “Scan QR Code”
- Scan the QR code in your terminal
Understanding the App Structure
Once the app is running, here’s what you’ll see:Program Tab (Main Screen)
Program Tab (Main Screen)
The Program tab shows your current week with all scheduled training days:
client/navigation/MainTabNavigator.tsx
- Week selector at the top (swipe or tap arrows)
- 4 workout cards per week (Tuesday, Thursday, Saturday, Sunday)
- Tap any card to open the workout and start logging
Workout Screen
Workout Screen
The workout screen is where the magic happens:Features:
client/screens/WorkoutScreen.tsx
- Expandable exercise cards with tier badges (T1, T2, T3)
- Target weights/reps calculated from your 1RM goals
- Set-by-set logging with weight and rep inputs
- Progress bar showing overall completion
- Edit button to modify targets on the fly
Goals Tab
Goals Tab
Set your training maxes for automatic weight calculations:
- Enter 1RM for Bench, Squat, Deadlift, OHP
- Weights automatically calculate for all exercises
- Changes apply to all future workouts
- Goals persist locally in AsyncStorage
History Tab
History Tab
View your complete training history:
- Calendar view with completed workout indicators
- Week-by-week progression
- Tap any past workout to review sets/reps
Development Workflow
Hot Reloading
The app supports fast refresh. Make changes to any component and see them instantly:client/components/Button.tsx
Testing on Multiple Platforms
Rippler runs on iOS, Android, and web from the same codebase:TypeScript Support
The app is fully typed with TypeScript. Hover over any component for type information:client/types/workout.ts
Running the Backend (Optional)
If you want to test the full stack with database persistence:Common Issues
Module not found: @/components/...
Module not found: @/components/...
This is a path alias issue. Make sure your Then restart the dev server with
babel.config.js is correct:babel.config.js
npm run expo:dev.Expo Go not connecting
Expo Go not connecting
Make sure your phone and computer are on the same WiFi network.If that doesn’t work, try:This uses a cloud tunnel to connect.
Database connection error
Database connection error
If you see database errors, check your Or skip the database entirely - the app works with AsyncStorage only.
.env file:Android emulator not opening
Android emulator not opening
Make sure you have Android Studio installed and an emulator configured.List available emulators:Create one if needed through Android Studio > AVD Manager.
Next Steps
Full Installation Guide
Set up your complete development environment with all tools
Architecture Overview
Understand how Rippler is built and how the pieces fit together
Program Management
Learn how to manage and customize workout programs
API Reference
Explore the storage APIs, hooks, and type definitions
You’re all set! The app should be running and you can start exploring the codebase. Make changes and see them update in real-time with Fast Refresh.