A Gamified Smoke-Free Companion App (Expo + React Native + Supabase + Clerk)
BreatheBuddy is a mobile application designed to help young adults quit smoking or vaping through positive reinforcement, social support, and gamified interactions. Users care for a virtual pet that grows based on smoke-free days, supported by streak tracking, buddy verification, rewards, and health progress indicators.
This project was developed by the team (พลังลบ) ยกกำลังสอง and was
selected as a finalist and published in the official innovation
journal of the
Prime Minister's Award for Health Promotion Innovation 2025,
supported by the Thai Health Promotion Foundation (ThaiHealth /
สสส.).
- Virtual pet that evolves based on the user's smoke-free streak\
- Daily smoke-free streak system (XP & progression)\
- Buddy verification for accountability\
- Coupon and reward system\
- Health progress dashboard\
- Mini-games for stress relief\
- Onboarding questionnaire & user profile setup\
- Authentication with Clerk\
- Supabase backend (PostgreSQL, RLS, Edge Functions)\
- Built with Expo & React Native
- Node.js (LTS)\
- Git\
- Expo CLI (via npx)\
- Android Studio or Xcode (for device simulators)
git clone https://github.com/<your-org>/breathebuddy.git
cd breathebuddynpm installCreate a .env file with the following keys:
EXPO_PUBLIC_SUPABASE_URL=...
EXPO_PUBLIC_SUPABASE_ANON_KEY=...
EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY=...
CLERK_SECRET_KEY=...
npx expo start/app
/lobby
/stats
/services
/campaign
/onboarding
/components
/hooks
/supabase
schema.sql
functions/
assets/
- Finalist at Prime Minister's Award for Health Promotion Innovation 2025\
- Published in the official innovation journal by the Thai Health Promotion Foundation (สสส.)
CC BY--ND 4.0 License
Copyright (c) 2025
Developed by Team (พลังลบ) ยกกำลังสอง
You may share this work with attribution, but no derivatives or modifications are permitted.