An offline workout coach for Android that analyzes Hevy data locally with Gemini Nano. Nothing leaves the phone.

Role

Android AI Developer

Timeline
March 2026

Technologies

  • Kotlin
  • Jetpack Compose
  • Gemini Nano
  • AICore
  • Hevy API
  • SQLite
  • Retrofit

Tools

  • Android Studio
  • Material 3
  • Local AI

Background

My training data lives in Hevy, and I didn't want to hand it to another cloud service just to get basic coaching feedback. Fitness data is personal. A Pixel 9 with Gemini Nano meant I could build analysis that runs entirely on-device.

Solution

The app syncs workout history from the Hevy API into local SQLite, then runs analysis through Android's AICore. Gemini Nano looks at volume and consistency trends and suggests weight adjustments or recovery days. The Jetpack Compose UI is designed to be readable mid-set at the gym.

Process

The real work was the bridge between the Hevy sync layer and local inference, including keeping the app fully usable with no signal in a gym basement. I went through many prompt iterations against the local model to get advice that was actually relevant and fast enough to feel live.

Final Product

Impact

A working prototype that does what cloud fitness apps charge for, privately and offline. It's also proof to myself that small on-device models are good enough for narrow, well-structured problems.

Reflection

Biggest takeaway: local models are capable but constrained. Prompt design matters far more than with frontier models, and structured input data matters more than either. Next I'd like to experiment with tool-calling or MCP servers to give the model research ability without breaking privacy.