https://github.com/astrovm/gripmaxxer
Android app for real-time workout tracking with CameraX + ML Kit Pose Detection (reps, holds, and hangs)
https://github.com/astrovm/gripmaxxer
Last synced: 3 months ago
JSON representation
Android app for real-time workout tracking with CameraX + ML Kit Pose Detection (reps, holds, and hangs)
- Host: GitHub
- URL: https://github.com/astrovm/gripmaxxer
- Owner: astrovm
- License: mit
- Created: 2026-02-15T18:29:57.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-02-26T22:06:30.000Z (4 months ago)
- Last Synced: 2026-02-27T02:12:56.267Z (4 months ago)
- Language: Kotlin
- Homepage:
- Size: 316 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
# Gripmaxxer
Gripmaxxer is an Android workout tracker that uses your front camera to detect activity and count reps/hold time in real time.
## What You Can Do
- Pick an exercise mode and start a workout quickly.
- Track these camera-supported modes: dead hang, active hang, pull-up, chin-up, hanging leg raise, push-up, squat, and dip.
- Auto-count reps and timed holds.
- Use optional media control (play/pause) based on your activity.
- Show an optional floating stopwatch overlay.
- Review sessions in `Log` and stats/settings in `Profile`.
## Quick Start (User)
1. Install and open the app on a real Android device.
2. Go to `Workout`.
3. Select your exercise mode.
4. Grant any missing permissions shown on screen.
5. Tap `Start Workout`.
6. Use `Pause/Resume`, `Sets`, and `End` during the session.
7. Check completed workouts in `Log`.
## Permissions (Why They Are Requested)
- `Camera`: required for exercise detection and rep counting.
- `Notification access`: only required if media play/pause control is enabled.
- `Overlay`: only required if floating stopwatch overlay is enabled.
## Notes
- Camera monitoring runs in a foreground service, so a persistent notification is expected.
- Android camera privacy indicator will be visible while tracking is active.
- Overlay visibility can vary on some OEM/system screens.
- Voice cue (hold modes) is enabled by default and can be toggled in `Profile`.
## Tracking Tips
- Keep your full movement in frame.
- Use good lighting and stable phone placement.
- If tracking feels noisy, try adjusting angle/distance.
- Start your media app first if you use media control.
## Build From Source
1. Open the project in Android Studio.
2. Use SDK settings from your environment.
3. Build debug APK:
- `JAVA_HOME="${JAVA_HOME:-$HOME/android-studio/jbr}" ANDROID_HOME="${ANDROID_HOME:-$HOME/Android/Sdk}" ./gradlew :app:assembleDebug -x lint`
4. Install/run on device (min SDK 26, target SDK 36).