A completely free Android workout tracker with 500+ exercises and no paywalls.
- 500+ exercises across 17 muscle groups
- Exercise classification — every exercise tagged as Compound, Accessory, or Isolation
- Filter by muscle group & equipment — quickly narrow down exercises
- Search by name
- Create custom exercises — name, muscle group, equipment, classification, and instructions
- Usage counts — see how often you've used each exercise
- Exercise notes — per-exercise freeform notes saved across sessions
- Exercise info — muscle group, equipment, classification, instructions
- History tab — full set-by-set history with dates, weights, reps, and RPE
- 1RM calculator tab — enter weight and reps to calculate estimated 1-rep max using Epley or Brzycki formula; shows a reps-vs-weight table (1–12 reps) based on the result; auto-filled from your latest session
- Warm-up calculator tab — enter your working weight and reps; generates percentage-based warm-up sets (50%, 70%, 85%) with appropriate rep counts; auto-filled from your latest session
- Edit exercise — name, muscle group, equipment, classification, instructions for custom exercises
- Start empty workout or launch from a routine
- Add exercises with multi-select exercise picker (search + filters)
- Replace exercise mid-workout
- Set tracking — log weight, reps, and set type (normal, warm-up, drop set, failure)
- Cardio sets — the reps column becomes a Duration entered and shown as a clock (
mm:ss, widening toh:mm:ss) instead of a bare number, and RPE is hidden - RPE rating (optional, toggle in Settings) — rates each set 1–10 with a brief description; auto-prompts after tapping the check button; hidden on cardio exercises, which are logged as time rather than effort per rep
- Previous session data shown inline while logging so you can beat your last performance
- Rest timer — auto-starts after completing a set; per-set rest is shown and entered as a clock (
mm:ss, widening toh:mm:ss), with digits filling from the right so "130" is 01:30 - Plate calculator — accessible from the 3-dot menu on any exercise; pick your bar and load plates onto it to see the running total, with the target weight and the gap to it shown alongside; "Fill to target" loads the plates that reach a weight in one tap; remembers the bar and single-side setting per exercise, so a machine stays set up the way you left it; supports kg and lbs; respects your available plates from Settings
- Reorder exercises and sets
- Delete exercises and sets
- Finish or discard workout
- Unlimited routines with custom names and descriptions
- Routine groups — organize routines into named groups
- Build routines from the full exercise library
- Launch a workout directly from a routine
- Share a routine as JSON and import one back — warm-up, failure and drop sets included (format)
- Workout history — browse all past workouts
- Personal records tracked automatically
- Per-exercise history with volume and max weight stats
- Total sets and total workouts summary per exercise
- Log and track body measurements over time
- Theme — Light, Dark, or System default
- Weight unit — kg or lbs (affects all input and display)
- Rest timer — default rest and last set rest, both shown and entered as
mm:ss, plus the timer adjustment step in seconds - Keep screen on — prevent screen sleep during active workouts
- RPE tracking — turn on/off; when on, a pop-up appears after each completed set (cardio sets excluded)
- Timer notification sound — pick a custom sound for rest timer alerts
- Plate calculator defaults — set how many of each plate your gym has (separate presets for kg and lbs); 2-column grid layout
- 1RM formula — choose Epley, Brzycki, or show both
- Recovery hours — per-muscle-group recovery windows shown on the Progress tab
- Profile — gender, birth year, and caliper method for accurate body fat calculations
- XLSX export — select workouts in History and share them as an Excel file
- Full backup export/import — write your whole database (exercises, routines with warm-up sets, history, measurements, settings) to a JSON file and restore it; see Export / Import Formats
- Material 3 design
- Dark & light theme
- Completely free — no ads, no subscriptions, no paywalls
- Kotlin + Jetpack Compose
- Room — local database with migrations
- Hilt — dependency injection
- DataStore — preferences
- Material 3 design system
- MVVM architecture
- Target SDK 35 (Android 15)
- Min SDK 26 (Android 8.0)
app/src/main/java/com/strongest/app/
├── data/
│ ├── db/ # Room database, DAOs, TypeConverters, migrations
│ ├── model/ # Data classes (Exercise, Workout, Set, Routine, …)
│ └── repository/ # WorkoutRepository, SettingsRepository, seed data
├── di/ # Hilt modules
├── utils/ # Export/import formats (backup + routine share)
└── ui/
├── exercise/ # Exercise library, detail, picker, custom exercise dialog
├── history/ # Workout history
├── measurements/ # Body measurements
├── navigation/ # Nav graph
├── progress/ # Progress & PRs
├── routines/ # Routine builder & groups
├── settings/ # Settings screen
├── theme/ # Material 3 theme
└── workout/ # Active workout, plate calculator, WorkoutViewModel
- Android Studio Ladybug (2024.2) or newer
- JDK 17
- Android SDK 35
- Open the project in Android Studio
- Sync Gradle and build
./gradlew assembleDebug # Debug APK
./gradlew assembleRelease # Release AAB (signed)./gradlew test # Unit tests
./gradlew connectedAndroidTest # Instrumented tests- Register Developer Account — $25 one-time fee at Google Play Console
- Generate signed AAB:
./gradlew bundleRelease
- Complete Store Listing — icon (512×512), feature graphic (1024×500), screenshots, description
- Content Rating — complete the IARC questionnaire
- Data Safety — declare data practices (local-only = minimal)
- Testing Track — 20 testers for 14 days required for new personal accounts
- Submit for Review
This project is open source under the MIT License.
Strongest does not collect, store, transmit, or share any personal data.
- Local-only storage — all data (workouts, exercises, routines, measurements, settings) is stored exclusively on your device using Room (local database) and DataStore (preferences).
- No internet access — the app requires no internet permission. It never connects to remote servers, APIs, or cloud services.
- No analytics or crash reporting — no third-party analytics, tracking, or telemetry SDKs are included.
- No ads — the app contains no advertising SDKs.
- No user accounts — there is no login, registration, or profile synced to a server.
- No data sharing — the app does not share data with any third parties. Data export (XLSX) is user-initiated and saved locally or shared via Android's share sheet — the app itself never sends data externally.
When publishing, your Google Play Data Safety section should declare:
- Data collected: None
- Data shared: None
- Data encrypted in transit: Not applicable (no network communication)
- Data deletion: Uninstall the app to remove all stored data
You can view, modify, or delete all data directly within the app. To completely remove all data, clear the app's storage in Android Settings or uninstall the application.