Bati: Fitness RPG

Turn workouts into quests, boss fights and a village built by your training.
Repo:F-Droid.Org
AppID:com.guiforge.bati
Author:Guillaume Pouyat
License:MIT
Donation:
InRepoSince:2026-08-21
LastRepoUpdate:2026-11-13
LastAppUpdate:Unknown
LastVersion:2.14.0
Categories:Role-Playing Game, Sports & Health
APK source:
icon Train like a hero, build like a king.

Bati turns strength training into a dark-fantasy RPG. A workout is a quest. Reps land as damage on a boss. The muscles you actually work raise the buildings of a village that grows out of what you lifted, not out of what you bought.

SPORT FIRST, RPG SECOND
The training logic leads and the game amplifies it. Nothing decorative gets between you and your next set: large tap targets, high-contrast text, and a screen designed for one hand in a noisy gym.

WHAT YOU GET
• Quests: guided sessions with targets that adapt to your level
• Adventures: multi-session campaigns with a story between steps
• Boss fights: reps become damage; weaknesses and criticals make the numbers mean something
• Outings: walk, run or ride; the ground you cover raises the road out of the village
• A village: buildings level up from the volume you actually logged
• Oaths: pick one goal and let the app hold you to it
• Reminders: on the days you choose, scheduled on the phone, no server
• Backups: as a file, or automatic into a folder you pick, encrypted if you ask
• Sync: one hero across several phones
• Six languages: English, French, German, Spanish, Russian, Chinese
• A journal: history, records, your flame, muscle balance

YOUR TRAINING STAYS ON YOUR PHONE
No account. No sign-up. No server of ours. No analytics, no ads, no tracking of any kind. Your sessions, your records and the GPS trace of an outing live in a database on your device. Your phone's own system backup can carry it, like any app's data, and you can turn that off. Uninstalling the app deletes it from the phone, not the copies you made elsewhere.

Three features use the network, each behind its own switch in Settings, and all three start off:
• The map behind an outing's route. The phone asks OpenFreeMap (OpenStreetMap data, from tiles.openfreemap.org) for tiles, the square images a map is made of, around where you go. That tells the host roughly where you were, with your IP address and the time. Off, the route is drawn on a plain background.
• Check for updates. Once a day, the app asks api.github.com whether a newer version exists. No identifier is sent, nothing is downloaded.
• Device sync. Your history, encrypted on the phone (AES-256-GCM), goes to a WebDAV or Nextcloud server you choose, which cannot read it. Or into a folder that Syncthing keeps in step, and Bati makes no request at all.

With all three off, the app makes no network request. Only two files in the code may make one from JavaScript, and a lint rule rejects any other before it ships.

Location is read only while an outing is running, by a GPS module written for this app against Android's own location service. No Google Play Services, no third-party SDK, nothing that phones home.

BODYWEIGHT FIRST
The exercise catalogue is built around what you can do with no equipment, and adapts if you own some. Warm-ups are dynamic and scaled to the session in front of you, because a five-minute warm-up before a six-minute workout is a warm-up nobody does twice.

NOT A MEDICAL DEVICE
Bati is a training app. It is not a medical device and does not diagnose, treat or prevent any condition. If you have an injury, a health condition or doubts about exercising, talk to a doctor before you start.

Open source: https://github.com/Guiforge/bati

WhatsNew:

- During a session or on the pause screen, "I'm stopping, it hurts" ends the session and keeps your sets.
- In the Forge, "Share my creations" puts your quests, adventures, bosses and exercises in one file. Whoever receives it ticks what they keep.
- A late-evening session in the week of the clock change counts in the right week again for rest advice.
- A backup saved to cloud storage is no longer refused and then deleted.
- Libraries brought up to date.

Download Website Source Issues ChangeLog
0-onboarding.png 1-boss.jpg 1-home.png 2-quests.png 2-village.jpg 3-quest-detail.png 3-session.jpg 4-session.png 4-victory.jpg 5-boss.png 5-home.jpg 6-quests.jpg 6-victory.png 7-journal.jpg 7-village.png 8-journal.png 8-recap.jpg 9-recap.png
While you can download the APKs here directly, you should preferably use an F-Droid client so the app stays up-to-date on your device.

Packages

Version 2.14.0 (2026-11-13) no RB details available help icon

Android Versions:
  • Target: 16.0
  • MinVer: 7.0
  • ABIs: arm64-v8a, armeabi-v7a

Download (66.2 M)

Version 2.13.4 (2026-11-06) no RB details available help icon

Version 2.13.3 (2026-11-01) no RB details available help icon