Signing config reads from keystore.properties (gitignored).
Release build has minification enabled. The keystore and
properties file are excluded from version control.
To build a signed release APK:
./gradlew assembleRelease
Output: app/build/outputs/apk/release/app-release.apk
Dark-themed Compose screen with:
- Large monospace BPM counter and pace slider (40-200 BPM)
- Six preset buttons (80/100/120/130/140/160 BPM)
- Volume slider with percentage readout
- Circular start/stop button with green pulse ring that
animates on each beat via a coroutine-driven LaunchedEffect
- PacerViewModel owns AudioEngine lifecycle so audio survives
configuration changes
Initial project structure with manifest configured for foreground
audio service, AudioTrack-based playback, and background operation.
Includes Gradle wrapper, dependency catalog, placeholder icons,
and build instructions for Arch Linux.