
FlexInsight
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.