Gymate — a gamified fitness, workout, diet and Pokémon companion app
TypeScript
0
11 commits
updated Oct 5, 2026
TRAIN. EAT. GROW.
Gymate is a gamified fitness and health application built around three core pillars:
Training • Nutrition • Activity
It combines workout tracking, diet and nutrition management, activity tracking, XP progression, Pokémon-inspired collection and evolution, a Pokédex, PC storage, and achievement-based gym badges into a single pixel-art mobile experience.
The goal of Gymate is to make consistent fitness more engaging by adding a progression system on top of the core fitness experience.
The recommended version for trying Gymate.
The build contains every feature exluding the developer button in pokemon section so you can use this as your main app.
A development build containing additional developer/testing functionality.
Both APKs are distributed through the GitHub Release.
A prepared sample profile is available for exploring features that would otherwise require significant time to populate manually.
The sample profile can be used to check things such as:
How to use: Install the Demo APK first, then when in the create profile section click on restore backup and then select the downloaded sample profile then enter the new password whatever you want and click restore backup and voila you are on the sample backup. !!!!The downloaded file should have a .gymate extension and not .txt or anyother extension!!!!
Gymate provides a complete workout tracking system for recording and reviewing training sessions.
Gymate includes a daily nutrition tracking system designed around calories, protein, and water intake.
Gymate includes a built-in food nutrition database used to calculate nutritional values for supported foods.
Nutrition calculations can be based on the quantity of food entered by the user.
Daily records use snapshots so that changing a reusable template does not unexpectedly change previously recorded nutrition history.
Gymate includes activity tracking for everyday movement and running.
Gymate includes GPS-based running activity.
Features include:
Saved runs provide information including:
Gymate uses XP as a progression layer across the application.
XP can be earned through supported fitness and activity actions.
The progression system connects different parts of the application instead of creating separate progression systems for individual features.
Pokémon is the gamification layer of Gymate.
The system is designed to make fitness progression more engaging while keeping training, nutrition, and activity as the core of the application.
Users begin their Pokémon journey with a starter Pokémon.
The starter can then gain experience and progress through the Pokémon system.
Gymate supports collecting Pokémon through its Pokéball system.
Pokémon have properties such as:
Gymate maintains a permanent Pokédex registration system.
Once a species has been registered, its Pokédex entry remains registered even if the Pokémon's current form changes through evolution.
The PC provides storage for collected Pokémon that are not currently part of the active team.
The PC includes:
Pokémon can gain XP and increase their level.
Their progression is independent from the Trainer's XP progression.
Pokémon can evolve when their progression reaches the appropriate evolution requirements.
The evolution system includes:
Evolution also registers the newly reached species in the Pokédex.
Gymate includes different Pokéball types with different Pokémon acquisition rules.
The Jester Ball is one of the Pokémon acquisition systems currently implemented.
It costs:
4 shards
Its rarity distribution is:
| Rarity | Chance |
|---|---|
| Common | 80% |
| Uncommon | 12% |
| Rare | 5% |
| Legendary | 3% |
The weighting is applied to the Pokémon that are still available to the user.
Previously registered Pokémon are excluded from future Jester Ball rolls.
Gymate contains an achievement-based Gym Badge system.
There are:
8 badge families
Each family contains:
This gives the system a total of:
16 badge variants
The Gym Badges section provides separate views for:
Badges can be:
Achievements provide goals that can unlock Gym Badges and contribute to the overall progression system.
The profile acts as the user's trainer card.
It contains information such as:
The profile also provides access to profile-related configuration.
Gymate follows a dark-mode-first 8-bit / pixel-art visual direction.
The visual identity is built around:
The goal is to make Gymate feel like a fitness application with a game layer, rather than a game with fitness features added to it.
The Home screen provides a quick overview of the user's daily progress and current Pokémon partner.
The Training section provides access to workouts, workout history, and training progress.
Review training statistics, workout volume, and progress over time.
Track daily calories, protein, water intake, food, and nutrition goals.
Track daily steps and earn progression through activity.
Track running activity using GPS and review completed runs.
The Pokémon section provides access to the user's Pokémon journey and collection.
Browse collected Pokémon and manage the collection.
Pokémon evolution has its own dedicated visual sequence with animation and audio.
Complete achievements and collect Gym Badges.
The Trainer Profile combines personal fitness information, Trainer XP, Pokédex progress, and Gym Badges.
| Technology | Usage |
|---|---|
| React Native | Mobile application |
| Expo | React Native development and build platform |
| Expo Router | File-based navigation |
| TypeScript | Type-safe application development |
| SQLite | Local structured data storage |
| AsyncStorage | Local application persistence |
| React Native Health Connect | Health and step data |
| Expo Location | GPS and running activity |
| Expo Audio | Music, sound effects and Pokémon audio |
| Expo Sensors | Device sensor access |
| EAS Build | Android application builds |
Gymate/
│
├── app/ # Application screens and routes
├── assets/ # Images, Pokémon assets, audio, fonts
├── components/ # Reusable UI components
├── constants/ # Theme and application constants
├── context/ # React context providers
├── data/ # Static application data
├── database/ # Local database layer
├── services/ # Application business logic
├── types/ # TypeScript definitions
├── utils/ # Utility functions
│
├── docs/
│ └── screenshots/ # README screenshots
│
├── app.json
├── eas.json
├── package.json
├── tsconfig.json
└── README.md
Gymate — a gamified fitness, workout, diet and Pokémon companion app
TypeScript
0
11 commits
updated Oct 5, 2026
TRAIN. EAT. GROW.
Gymate is a gamified fitness and health application built around three core pillars:
Training • Nutrition • Activity
It combines workout tracking, diet and nutrition management, activity tracking, XP progression, Pokémon-inspired collection and evolution, a Pokédex, PC storage, and achievement-based gym badges into a single pixel-art mobile experience.
The goal of Gymate is to make consistent fitness more engaging by adding a progression system on top of the core fitness experience.
The recommended version for trying Gymate.
The build contains every feature exluding the developer button in pokemon section so you can use this as your main app.
A development build containing additional developer/testing functionality.
Both APKs are distributed through the GitHub Release.
A prepared sample profile is available for exploring features that would otherwise require significant time to populate manually.
The sample profile can be used to check things such as:
How to use: Install the Demo APK first, then when in the create profile section click on restore backup and then select the downloaded sample profile then enter the new password whatever you want and click restore backup and voila you are on the sample backup. !!!!The downloaded file should have a .gymate extension and not .txt or anyother extension!!!!
Gymate provides a complete workout tracking system for recording and reviewing training sessions.
Gymate includes a daily nutrition tracking system designed around calories, protein, and water intake.
Gymate includes a built-in food nutrition database used to calculate nutritional values for supported foods.
Nutrition calculations can be based on the quantity of food entered by the user.
Daily records use snapshots so that changing a reusable template does not unexpectedly change previously recorded nutrition history.
Gymate includes activity tracking for everyday movement and running.
Gymate includes GPS-based running activity.
Features include:
Saved runs provide information including:
Gymate uses XP as a progression layer across the application.
XP can be earned through supported fitness and activity actions.
The progression system connects different parts of the application instead of creating separate progression systems for individual features.
Pokémon is the gamification layer of Gymate.
The system is designed to make fitness progression more engaging while keeping training, nutrition, and activity as the core of the application.
Users begin their Pokémon journey with a starter Pokémon.
The starter can then gain experience and progress through the Pokémon system.
Gymate supports collecting Pokémon through its Pokéball system.
Pokémon have properties such as:
Gymate maintains a permanent Pokédex registration system.
Once a species has been registered, its Pokédex entry remains registered even if the Pokémon's current form changes through evolution.
The PC provides storage for collected Pokémon that are not currently part of the active team.
The PC includes:
Pokémon can gain XP and increase their level.
Their progression is independent from the Trainer's XP progression.
Pokémon can evolve when their progression reaches the appropriate evolution requirements.
The evolution system includes:
Evolution also registers the newly reached species in the Pokédex.
Gymate includes different Pokéball types with different Pokémon acquisition rules.
The Jester Ball is one of the Pokémon acquisition systems currently implemented.
It costs:
4 shards
Its rarity distribution is:
| Rarity | Chance |
|---|---|
| Common | 80% |
| Uncommon | 12% |
| Rare | 5% |
| Legendary | 3% |
The weighting is applied to the Pokémon that are still available to the user.
Previously registered Pokémon are excluded from future Jester Ball rolls.
Gymate contains an achievement-based Gym Badge system.
There are:
8 badge families
Each family contains:
This gives the system a total of:
16 badge variants
The Gym Badges section provides separate views for:
Badges can be:
Achievements provide goals that can unlock Gym Badges and contribute to the overall progression system.
The profile acts as the user's trainer card.
It contains information such as:
The profile also provides access to profile-related configuration.
Gymate follows a dark-mode-first 8-bit / pixel-art visual direction.
The visual identity is built around:
The goal is to make Gymate feel like a fitness application with a game layer, rather than a game with fitness features added to it.
The Home screen provides a quick overview of the user's daily progress and current Pokémon partner.
The Training section provides access to workouts, workout history, and training progress.
Review training statistics, workout volume, and progress over time.
Track daily calories, protein, water intake, food, and nutrition goals.
Track daily steps and earn progression through activity.
Track running activity using GPS and review completed runs.
The Pokémon section provides access to the user's Pokémon journey and collection.
Browse collected Pokémon and manage the collection.
Pokémon evolution has its own dedicated visual sequence with animation and audio.
Complete achievements and collect Gym Badges.
The Trainer Profile combines personal fitness information, Trainer XP, Pokédex progress, and Gym Badges.
| Technology | Usage |
|---|---|
| React Native | Mobile application |
| Expo | React Native development and build platform |
| Expo Router | File-based navigation |
| TypeScript | Type-safe application development |
| SQLite | Local structured data storage |
| AsyncStorage | Local application persistence |
| React Native Health Connect | Health and step data |
| Expo Location | GPS and running activity |
| Expo Audio | Music, sound effects and Pokémon audio |
| Expo Sensors | Device sensor access |
| EAS Build | Android application builds |
Gymate/
│
├── app/ # Application screens and routes
├── assets/ # Images, Pokémon assets, audio, fonts
├── components/ # Reusable UI components
├── constants/ # Theme and application constants
├── context/ # React context providers
├── data/ # Static application data
├── database/ # Local database layer
├── services/ # Application business logic
├── types/ # TypeScript definitions
├── utils/ # Utility functions
│
├── docs/
│ └── screenshots/ # README screenshots
│
├── app.json
├── eas.json
├── package.json
├── tsconfig.json
└── README.md