Skip to content

alessioGalatolo/PerfectGymCoach

Repository files navigation

Elevate Fitness

Elevate Fitness Banner

An open-source Material 3 Expressive gym workout tracker with Wear OS support

No paywalls. No subscriptions. Just a great workout experience.

Download on Google Play GitHub Stars GitHub Issues License

Get it on Google Play

FeaturesScreenshotsTech StackGetting StartedContributing


Elevate Fitness (previously PerfectGymCoach) was born from the frustration of using badly designed fitness apps with terrible UX and an infinite number of paywalls. This is a completely free, open-source alternative that puts user experience first.

Built with the latest Android technologies including Jetpack Compose and Material 3 Expressive design, Elevate Fitness offers a modern, colorful, and delightful workout tracking experience.

Features

  • Material 3 Expressive - Beautiful, colorful UI with smooth animations and physics-based interactions
  • Wear OS Companion - Track workouts directly from your smartwatch
  • Custom Workout Plans - Create and manage personalized workout routines
  • Progress Tracking - Monitor your fitness journey over time
  • Intuitive UX - Designed by someone frustrated with bad fitness app UX
  • Privacy First - No tracking, no data collection, no analytics
  • Completely Free - No ads, no subscriptions, no paywalls
  • Dynamic Theming - Material You support with dynamic colors

Screenshots

Material 3 Expressive Wear OS
Expressive Update Wear OS Demo

Tech Stack

  • Language: Kotlin
  • UI Framework: Jetpack Compose
  • Architecture: MVI (Model-ViewModel-Intent)
  • Navigation: Compose Destinations
  • Design System: Material 3 with Expressive elements
  • Wearable: Wear OS integration
  • Graphs: Vico and Composable-Graphs

Getting Started

Prerequisites

  • Android Studio Otter or later
  • JDK 19+
  • Android SDK 36+

Installation

  1. Clone the repository
git clone https://github.com/alessioGalatolo/PerfectGymCoach.git
cd PerfectGymCoach
  1. Open the project in Android Studio

  2. Sync Gradle files

  3. Run the app on your device or emulator

Building

./gradlew assembleDebug

For release builds:

./gradlew assembleRelease

Roadmap

Completed

  • Material 3 Expressive design implementation
  • Wear OS companion app
  • Progress (and ongoing) notifications (android 16+)

In Progress

  • Gemini Nano/On-Device AI Integration: On-device AI for intelligent coaching (WIP here)
  • Improve wear os companion

Planned

  • Expressive typography
  • Additional animations and transitions

Contributing

Any contribution is welcome.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the GLPv3 License. This means that you're free to use, modify, and distribute this app, but:

  • No warranty/liability
  • Keep it free and open source
  • Disclose source and changes made
  • Keep the license

See the LICENSE file for the full legal text.

Acknowledgments

I do not own any of the images used in this app. They are copyright free and were collected mostly through pexels and unsplash. Many thanks to all the artist that made their images freely available: Lukas, Alesia Kozik, Tima Miroshnichenko, Bruno Bueno, Cottonbro Studio, Andrea Piacquadio, Li Sun, Gustavo Fring, Ketut Subiyanto, Ivan Samkov, Mart Production, Jonathan Borba, Max Vakhtbovych, Anete Lusina, Monstera, Andres Ayrton, Pixabay, Daniel Apodaca, Sinitta Leunen, Leon Ardho, Anastasia Shuraeva, Ruslan Khmelevsky, Barbara Olsen, Anna Shvets, Ronald Slaton, Scott Webb.

Some of the features/design elements were inspired by Progression (my favourite workout app by far, until the big subscription wall was introduced) and GymRun.

Privacy policy was inspired by WrichikBasu/ShakeAlarmClock.

Releases

No releases published

Packages

No packages published

Languages