Skip to content

Repository files navigation

WOD Timer logo

WOD Timer

A focused, offline CrossFit and functional-fitness timer for Android.

Android CI

WOD Timer is a local Android timer for CrossFit and functional-fitness workouts. It supports For Time, AMRAP, Every-X-Minutes, and work/rest intervals, with reusable presets.

Screenshots

Quick start and presets Active workout
WOD Timer quick-start screen Every-X-Minutes workout in progress

What it supports

  • For Time with an optional time cap, AMRAP, Every X Minutes, and work/rest intervals
  • Reusable presets with backup and restore
  • Sound and vibration cues
  • Pause, resume, reset, and background timing
  • Automatic immersive landscape timer with a larger clock
  • Automatic light and dark themes
  • Fully offline operation with no accounts, ads, analytics, or network permission

Developer setup

Open the project in Android Studio, let Gradle sync, and run the app configuration on an Android 8.0/API 26 or newer device or emulator.

To verify the project from a terminal:

./gradlew testDebugUnitTest lintDebug assembleDebug

Timing logic uses Android's monotonic clock and should be tested with explicit timestamps rather than real-time waits. When changing the Room database, increment its version, add a migration, and commit the updated schema from app/schemas.

Built with

  • Kotlin and Jetpack Compose with Material 3
  • Room/SQLite local preset persistence
  • Coroutines and StateFlow
  • Foreground service for active workouts
  • Custom PCM workout cues through Android AudioTrack

Privacy

The app does not request internet access. Presets remain on the device and no usage data is collected.

Install

Download the signed APK from GitHub Releases. Android may ask you to allow installation from your browser or file manager.

License

WOD Timer is available under the MIT License.

About

A workout timer for Android: For Time, AMRAP, EMOM, and interval training.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages