Stepling is a gamified Android step-tracking application that combines daily walking goals with virtual pet care, progression, rewards, and customization.
The app is designed to encourage regular walking without requiring constant screen time. Users choose daily and weekly step goals, track their progress through Health Connect, and earn in-game rewards for reaching milestones.
Progression is tied to a virtual pet whose mood changes based on activity and care. Earned currencies can be spent on cosmetics and food, while the wardrobe and fridge systems let users customize and interact with their pet.
- Firebase email/password authentication
- Daily and weekly step goals
- Step tracking through Android Health Connect
- Half-goal, full-goal, and weekly milestone rewards
- EXP and level progression
- Step Coin and Rest Coin currencies
- Pet mood system based on goal progress, rest, and feeding
- Rest-day mechanic with eligibility-based rewards
- Cosmetic shop with level-based unlock requirements
- Wardrobe for equipping and unequipping cosmetics
- Food shop and fridge inventory
- Once-per-day feeding interaction
- Persistent user, inventory, and progression data with Firebase Firestore
- First-time onboarding for pet naming, goal setup, and gameplay instructions
- Editable daily and weekly goals
- Portrait-oriented Jetpack Compose interface
- Kotlin
- Jetpack Compose
- Firebase Authentication
- Firebase Firestore
- Android Health Connect
- Android ViewModel / Compose state management
- Gradle
- Git
The project separates application responsibilities into several main areas:
data/auth– Firebase authentication and user-state persistencedata/firestore– shop, inventory, purchase, equipment, and food operationsdata/health– Health Connect integration and daily step aggregationdata/model– user, item, and inventory data modelsviewmodel– UI state and gameplay-related operationsui– Jetpack Compose screens and reusable UI componentsutil– progression and pet-mood game logic
Users choose a daily step target and a weekly target based on the number of days they want to complete their daily goal.
The reward system processes several milestones:
- Half of the daily goal
- Full daily goal
- Daily completion toward weekly progress
- Weekly goal completion
Rewards include EXP and Step Coins, with safeguards to prevent the same milestone from being claimed more than once.
The pet's mood responds to the user's activity:
- Happy – daily step goal completed
- Normal – at least half of the daily goal completed
- Sad – below half of the daily goal
- Resting – rest day selected
Using food can improve a sad mood for the day.
Players can spend earned currency on cosmetic items and food. Cosmetics can have level requirements and can be equipped in different categories, while purchased food is stored in the user's fridge inventory and can be used once per day.
- Android Studio
- Android SDK 26 or later
- A compatible Android emulator or physical Android device
- Health Connect support for step tracking
- Internet connection for Firebase-backed account and game data
-
Clone the repository:
git clone https://github.com/RukiyeGms/Stepling.git
-
Open the project in Android Studio.
-
Allow Gradle to sync and download the required dependencies.
-
Build and run the
appmodule on an emulator or Android device. -
Grant Health Connect step-reading permission when prompted to enable step tracking.
Completed academic Android project.
The project is not currently published on the Google Play Store.
This project was originally developed under the working title WalkPet and was later renamed Stepling. Some internal package, class, or resource names may still reference the original name because the rename took place after the core development was completed. The current project name is Stepling.



