Android app for importing body-composition scale screenshots into Health Connect.
This project is vibe coded.
- Download the APK.
- Open the app on your phone.
- Paste your Gemini API key once into the in-app field.
- Connect Health Connect.
- Pick a screenshot and save the values.
No local.properties setup is needed for normal APK users.
- English
- German
- French
- Spanish
The app switches automatically based on the device language.
- Share the GitHub release link if you want people to install the app directly.
- Share the repository link if you want people to inspect the code or contribute.
- Share the GitHub Pages landing page if you want a cleaner public entry point.
- Connects to Health Connect and requests the required write permissions
- Lets users enter their own Gemini API key directly inside the app
- Lets you pick a screenshot of a body-composition scale report
- Uses Gemini to extract the metrics from the screenshot
- Shows the extracted values in directly editable fields
- Saves the confirmed values to Health Connect using the current device time
- Weight
- Body fat percentage
- Muscle mass percentage
- Bone mass
- Body water percentage
- Protein percentage
- BMI
- Basal metabolic rate
- Kotlin
- Android ViewBinding
- Material 3
- Health Connect client
- Google Generative AI SDK for Android
- Copy
local.properties.exampletolocal.propertiesif needed. - Set
sdk.dirto your Android SDK path. - Build the app with
./gradlew.bat assembleDebugon Windows.
- Copy
keystore.properties.exampletokeystore.properties. - Generate or provide your own release keystore and keep it private.
- Point
storeFile,storePassword,keyAlias, andkeyPasswordto that keystore. - Build the release APK with
./gradlew.bat assembleReleaseon Windows.
The app requests write access for these Health Connect record types:
- Weight
- Body fat
- Lean body mass
- Bone mass
- Body water mass
- Basal metabolic rate
local.propertiesis ignored by git and must not be committed.- Generated build outputs are ignored by git.
- User API keys are entered in-app and stored only on the local device.
This repository is intended to be public-safe, but your local local.properties stays private on your machine.
