{"id":48116517,"url":"https://github.com/astrovm/gripmaxxer","last_synced_at":"2026-04-04T16:16:11.319Z","repository":{"id":340857218,"uuid":"1158668172","full_name":"astrovm/gripmaxxer","owner":"astrovm","description":"Android app for real-time workout tracking with CameraX + ML Kit Pose Detection (reps, holds, and hangs)","archived":false,"fork":false,"pushed_at":"2026-02-26T22:06:30.000Z","size":324,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-27T02:12:56.267Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/astrovm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-02-15T18:29:57.000Z","updated_at":"2026-02-26T22:06:34.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/astrovm/gripmaxxer","commit_stats":null,"previous_names":["astrovm/gripmaxxer"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/astrovm/gripmaxxer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astrovm%2Fgripmaxxer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astrovm%2Fgripmaxxer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astrovm%2Fgripmaxxer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astrovm%2Fgripmaxxer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/astrovm","download_url":"https://codeload.github.com/astrovm/gripmaxxer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astrovm%2Fgripmaxxer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31405699,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-04-04T16:16:09.344Z","updated_at":"2026-04-04T16:16:10.738Z","avatar_url":"https://github.com/astrovm.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gripmaxxer\n\nGripmaxxer is an Android workout tracker that uses your front camera to detect activity and count reps/hold time in real time.\n\n## What You Can Do\n- Pick an exercise mode and start a workout quickly.\n- Track these camera-supported modes: dead hang, active hang, pull-up, chin-up, hanging leg raise, push-up, squat, and dip.\n- Auto-count reps and timed holds.\n- Use optional media control (play/pause) based on your activity.\n- Show an optional floating stopwatch overlay.\n- Review sessions in `Log` and stats/settings in `Profile`.\n\n## Quick Start (User)\n1. Install and open the app on a real Android device.\n2. Go to `Workout`.\n3. Select your exercise mode.\n4. Grant any missing permissions shown on screen.\n5. Tap `Start Workout`.\n6. Use `Pause/Resume`, `Sets`, and `End` during the session.\n7. Check completed workouts in `Log`.\n\n## Permissions (Why They Are Requested)\n- `Camera`: required for exercise detection and rep counting.\n- `Notification access`: only required if media play/pause control is enabled.\n- `Overlay`: only required if floating stopwatch overlay is enabled.\n\n## Notes\n- Camera monitoring runs in a foreground service, so a persistent notification is expected.\n- Android camera privacy indicator will be visible while tracking is active.\n- Overlay visibility can vary on some OEM/system screens.\n- Voice cue (hold modes) is enabled by default and can be toggled in `Profile`.\n\n## Tracking Tips\n- Keep your full movement in frame.\n- Use good lighting and stable phone placement.\n- If tracking feels noisy, try adjusting angle/distance.\n- Start your media app first if you use media control.\n\n## Build From Source\n1. Open the project in Android Studio.\n2. Use SDK settings from your environment.\n3. Build debug APK:\n   - `JAVA_HOME=\"${JAVA_HOME:-$HOME/android-studio/jbr}\" ANDROID_HOME=\"${ANDROID_HOME:-$HOME/Android/Sdk}\" ./gradlew :app:assembleDebug -x lint`\n4. Install/run on device (min SDK 26, target SDK 36).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fastrovm%2Fgripmaxxer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fastrovm%2Fgripmaxxer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fastrovm%2Fgripmaxxer/lists"}