Skip to content

markrcote/gvtimer

Repository files navigation

GVTimer

An Android app for tracking German Volume Training (GVT) sessions. GVT is a strength-training method that has you perform 10 sets of 10 reps for a given exercise, with 60-second rest periods between sets.

Features

  • Tracks sets completed out of 10
  • 60-second rest timer that starts automatically after each set
  • Distinct audio tones when the rest period ends and when all 10 sets are complete
  • Resets for the next exercise once all 10 sets are done
  • Supports light and dark themes

Requirements

  • Android 7.0 (API 24) or higher

Local Development

Prerequisites

  • Android Studio (recommended), or Android SDK with command-line tools

  • JDK 17–21 (Java 22+ is not supported by the current Kotlin/Gradle tooling)

    On Arch/Manjaro, install Java 21 and set it as the default:

    sudo pacman -S jdk21-openjdk
    sudo archlinux-java set java-21-openjdk

Setup

  1. Clone the repository:

    git clone https://github.com/markrcote/gvtimer.git
    cd gvtimer
  2. Open in Android Studio (File > Open), or use the command line directly.

Building

./gradlew assembleDebug     # debug build
./gradlew assembleRelease   # release build
./gradlew bundleRelease     # Play Store bundle (.aab)

Running on a device or emulator

Android Studio: Select a device (or create an emulator via Device Manager) and click Run.

Command line — start an emulator:

The Android SDK tools are not always on PATH. If emulator is not found, use the full path (typically $ANDROID_HOME/emulator/emulator):

# List available AVDs
$ANDROID_HOME/emulator/emulator -list-avds

# Start one (replace <avd-name> with an AVD from the list above)
$ANDROID_HOME/emulator/emulator -avd <avd-name> &

# Wait for the emulator to finish booting before installing
$ANDROID_HOME/platform-tools/adb wait-for-device

Command line — install and run:

./gradlew installDebug      # installs debug build on connected device/emulator

Making UI changes

All timer logic and UI lives in a single file: app/src/main/assets/index.html. You can edit this file directly in any text editor — no Android-specific tooling required. After editing, rebuild and reinstall to see changes.

Releasing

See RELEASING.md for Play Store release instructions.

Architecture

The app is a thin Android wrapper (Kotlin + Jetpack Compose) around a self-contained HTML/CSS/JavaScript web app loaded from the local assets. The web app handles all timer logic and UI.

Privacy

GVTimer does not collect, store, or transmit any personal data. See PRIVACY.md for details.

License

Copyright (c) Mark Côté. All rights reserved.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors