Hadeed (حديد, "iron") is a gym log for Android. Tap the muscles you want to train on a body map, and it builds the session from the weights you actually lifted last time, not a generic template. Log your sets, let the rest timer run, and move on. It is built with Flutter and has home-screen widgets and a Wear OS companion.
Hadeed (حديد) is Arabic for iron. The goal is to keep logging out of the way of the lifting: pick the muscles, see last week's numbers, and beat them.
Status#
In closed testing on Google Play. Not public yet. The latest version is 1.9.0 (build 12), which adds a food diary beside the training.
The one thing it does differently#
Hadeed has no INTERNET permission at all. The app cannot reach the network. The permission is absent from the manifest, and ACCESS_NETWORK_STATE is explicitly removed on top of it.
That makes the Play Data safety answer (no data collected, no data shared) something you can verify from the APK instead of taking on trust. There is no account, sign-up, ads, tracking or subscription.
What's in it#
- 583 exercises, each with illustrated form steps
- A body map you tap to pick your focus, front and back
- Sets, reps, weight and RPE, with a rest timer between them
- Personal records and an estimated 1RM for every lift
- Progress charts for volume, bodyweight, consistency and time under the bar
- A muscle heat map that shows what you've been skipping
- Medals and levels, if that's what keeps you going
- Home-screen widgets for today and this week
- A Wear OS companion, a second bundle from one Dart binary
- Full backup and restore, plus CSV export
- A "What's new" screen in Settings, generated from the same release notes that go to Play, in all sixteen languages
- Play in-app updates, so a fix reaches a phone that has no other way to hear about it
A tour#
Eight screens from the app.
Your data is yours#
Export a full backup to a single file whenever you want, or a CSV you can open in any spreadsheet. Import a backup on a new phone and pick up exactly where you stopped. Coming from another logger? Hadeed reads common workout exports too.
Under the hood#
| Package | com.mohamedgado.hadeed |
|---|---|
| Min SDK | 24 (Android 7.0) |
| Target SDK | 36 |
| Locales | 16, including full right-to-left Arabic |
| Form factors | Phone and Wear OS, as two bundles from one Dart binary |
The release script refuses to ship the phone bundle unless the watch bundle ships with it. Play identifies a Wear app by a single manifest tag, android.hardware.type.watch, and rejects a bundle that declares it required="false", so a single artifact cannot be both. The Dart side is unchanged: one binary asks whether it's running on a watch and hands off to the watch UI if so. Only the manifest differs.







