Bati: Fitness RPG

Bati: Fitness RPG

Turn workouts into quests, boss fights and a village built by your training.

Guillaume Pouyat Role-playing Game Sports & Health

Screenshots

Screenshot of Bati: Fitness RPG Screenshot of Bati: Fitness RPG Screenshot of Bati: Fitness RPG Screenshot of Bati: Fitness RPG Screenshot of Bati: Fitness RPG Screenshot of Bati: Fitness RPG Screenshot of Bati: Fitness RPG Screenshot of Bati: Fitness RPG

Description

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
• Expeditions: 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
• A journal: history, personal records, streaks, 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 expedition live in a database on your device and nowhere else. Uninstalling the app destroys every record it ever made.

One exception, off by default: the map behind an expedition's route. Switched on in Settings, the phone asks OpenFreeMap (OpenStreetMap data, served from tiles.openfreemap.org) for tiles, the square images a map is made of, covering the place where you went. That request tells the host roughly where you were, with your IP address and the time. Not the route to the metre, not the pace, not the training, not who you are, but the area, yes. Off, or switched off again with one tap, the route is drawn on a plain background and the app makes no network request at all. No other part of the app is allowed to open a connection: a lint rule fails the build if a network call appears anywhere in the code.

Location is read only while an expedition 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.

The map is the one switch, and it starts off. Everything else above is the architecture, checked at build time.

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.

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

What’s new (2.1.0)

- One tap on Home and you are out: walk, run or ride, with no
setting and no countdown.
- Your phone sleeps in your pocket. The notification runs the
outing and says the elapsed time.
- Finishing takes a held thumb, or the notification from the
lock screen. A mistap undoes in one gesture.
- Every league you cross is a buzz.
- Setting up an outing takes four taps, half marathon included.
- A free outing can become a quest.
- A two hour outing is finally worth two hours.

Versions

Version Date Size Requires Android Download
2.1.0 current
48ab726d68dab41c…
2026-09-07 48 MB API 24
2.0.0
78ecc36b2b8bf668…
2026-09-05 48 MB API 24
1.15.0
96c40f4eca1c28b6…
2026-09-02 46 MB API 24

Permissions

What the app asks the system for. Android only grants sensitive access after you confirm it.

  • Internet accessSend and receive data over the internet.
  • Read storageRead files on the device storage.
  • VibrationControl the vibration alert.
  • Write storageCreate and change files on the device storage.
  • Network stateCheck whether and how the device is connected.
  • Precise locationDetermine the location via GPS.
  • Approximate locationDetermine the location via the network.
  • Foreground serviceKeep running in the background, visible in the status bar.
Show 4 more permissions
  • FOREGROUND_SERVICE_LOCATION
  • Prevent sleepingKeep the device from going to sleep.
  • NotificationsShow notifications.
  • bati.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

Comments