João GabrielSoftware engineer
Backend engineering & applied AI
All work

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
Overview of real Evolução workout, NutriTrack nutrition, and Coach readiness screens.
Local-first Android · Connected health / Independent project
Open full-size image

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

01

Connect through contracts

Read-only ContentProviders share versioned, size-capped payloads with caller-package checks. Each app keeps control of its own records.

02

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.

03

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
Next projectGymIA