Inspiration
What it does
How we built it
Challenges we ran into
Accomplishments that we're proud of
What we learned
What's next for PawXercise: Health & AI Pet
Inspiration
Healthy habits are easier to start than to maintain. Fitness apps can track progress, but numbers alone do not always give us a reason to return tomorrow.
PawXercise explores a different motivation: caring for a companion. Instead of walking only to complete a counter, you walk with Bibo, a virtual pet whose progression connects to your daily activity. The goal is to make small, consistent actions feel personal and rewarding.
What it does
PawXercise turns everyday movement into a virtual-pet adventure.
Users can track walks and runs, work toward daily step goals, log hydration, build streaks, and earn rewards. Pet care, progression, quests, and customization connect those activities into an ongoing game loop.
Bibo also offers an AI voice experience, giving the companion a conversational dimension beyond its visual reactions.
Notifications encourage users to return to unfinished daily goals. A persistent in-app inbox lets users revisit campaign messages after the notification banner disappears.
How I built it
I built the app with Flutter and Dart, using Rive for animated pet experiences. Android activity tracking combines step sensing, location, and Health Connect integration.
Supabase supports authentication, application data, and backend functions. The notification inbox combines local storage with authenticated cloud synchronization.
RevenueCat manages Bibo Pro Voice subscriptions through Google Play Billing. The app offers monthly and annual plans, a contextual paywall, and purchase restoration while keeping the core walking and pet-care experience available without a subscription.
OneSignal powers push messaging through Firebase Cloud Messaging. Campaign targeting uses activity and notification-preference tags to reach users with relevant reminders.
Challenges I ran into
Shipping a working release required testing beyond the development build.
One challenge was ensuring production builds included the correct environment configuration. Another was matching Firebase and OneSignal configuration to the correct Android package and device subscription.
Notification persistence also needed careful debugging. A reminder rescheduling operation was clearing incoming push notifications, and separate notification listeners could create duplicate inbox entries. I adjusted cancellation behavior and added deduplication checks.
For subscriptions, I tested the Google Play sandbox purchase flow, entitlement synchronization, restoration, and access after restarting the app. These tests validated the integration without treating sandbox purchases as real revenue.
Accomplishments that I'm proud of
PawXercise is now published on Google Play.
The project brings activity tracking, pet progression, AI voice, subscriptions, and persistent notifications into one experience.
A live OneSignal campaign sent 32 messages, with 31 reported delivered. Real-device testing also confirmed notification delivery and the inbox flow from receiving a message to opening it and marking it as read.
What I learned
A successful build is only one part of shipping. Permissions, signing, background behavior, purchase state, and production configuration all need verification on the distributed app.
I also learned to connect engagement and monetization to the product experience: reminders bring users back to their relationship with Bibo, while Pro Voice extends that relationship.
What's next for PawXercise
I want to refine onboarding, expand Bibo's reactions and customization, and improve the balance between activity, rewards, and pet progression.
I also plan to measure which reminders help users return and which parts of the experience support lasting habits, then use that feedback to guide future updates.
Built With
- android
- billing
- cloud
- connect
- dart
- firebase
- flutter
- health
- messaging
- onesignal
- play
- postgresql
- revenuecat
- rive
- supabase
Log in or sign up for Devpost to join the conversation.