Local-first Android · Connected health
Android Fitness Ecosystem
A local-first Android suite connecting strength training, nutrition, and daily coaching through explicit, on-device data contracts.
- Scope
- Android, local data & cross-app contracts
- Built with
- Kotlin, Java, SQLite, Health Connect

The problem
Training, nutrition, and health signals often live in separate applications. This suite explores how to bring them together while keeping the main workflows and storage on the phone.
Let each app own its domain. Evolução logs training, NutriTrack records meals, and Coach reads their data alongside Health Connect and a daily check-in. No shared application backend is required.
Engineering decisions
Connect through contracts
Read-only ContentProviders share versioned, size-capped payloads with caller-package checks. Each app keeps control of its own records.
Make local the default
WebView interfaces run inside Java and Kotlin shells. LocalStorage, SharedPreferences, and SQLite serve different storage responsibilities; core flows remain available offline.
Show missing signals honestly
Coach distinguishes unavailable health data and optional AI from actual observations. Optional Gemini requests leave the device and use the owner’s own API key.

What shipped
Three Android applications with documented storage boundaries, cross-app providers, and JS and Kotlin test suites. Wear OS and Health Connect integrations extend the suite; physical-device and build verification requirements are documented separately.
Read the source