Projects

Hadeed — Gym Workout Log

2026·3 min read

Flutter
Dart
Android
Wear OS
SQLite
In closed testing

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

حديد

Lift iron. Log it. Grow.

Free · No ads · Offline

On this page6 sections
  • Status
  • The one thing it does differently
  • What's in it
  • A tour
  • Your data is yours
  • Under the hood

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.

Home Progress Muscle map Exercises Exercise detail Focus Build a session Session

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.

More projects

  • Khazna — Pocket Vault: Links, Notes & Lists2026 · React Native
  • Joke Generator2021 · JavaScript
  • Rafiq — Islamic Companion App2026 · React Native
All projects
  • Status
  • The one thing it does differently
  • What's in it
  • A tour
  • Your data is yours
  • Under the hood