The SubTrackr Gamification System incentivizes user engagement, subscription tracking consistency, crypto payments, and community growth through level progression, badges, streaks, dynamic rewards, and leaderboards.
The useGamificationStore manages user progress and persists state via AsyncStorage:
points&level: Dynamic XP system where level advancement scales exponentially (Math.floor(100 * Math.pow(level, 1.5))).earnedAchievements&earnedBadges: Track unlocked achievement keys and assigned badge IDs.earnedRewards: Rewards generated upon achievement unlock (discount,credit,badge). Supports claim and redemption workflows with unique promo codes.streak: Billing charge and daily tracking streaks.config: Sound effects, push notifications, leaderboard visibility, and public profile settings.
Provides achievement definitions, badge registries, leaderboard sorting algorithms (all_time, weekly, streaks), and native social sharing integration (shareAchievement, shareBadge, shareLevel).
| Achievement ID | Name | Trigger | Requirement | Reward |
|---|---|---|---|---|
first_sub |
Getting Started | SUBSCRIPTION_ADDED |
Add 1st subscription | 100 Welcome Credits |
tracker_pro |
Tracker Pro | SUBSCRIPTION_ADDED |
Add 5 subscriptions | 10% Discount Coupon |
crypto_pioneer |
Crypto Pioneer | CRYPTO_PAYMENT |
Crypto payment completed | 500 Loyalty Credits |
high_roller |
High Roller | SUBSCRIPTION_ADDED |
Subscription > $50/mo | Whale Badge |
segmenter |
Strategic Merchant | SEGMENT_CREATED |
Create 1st user segment | Strategist Badge |
point_collector |
Point Collector | POINTS_MILESTONE |
Earn 1,000 lifetime XP | Collector Badge |
point_hoarder |
Point Hoarder | POINTS_MILESTONE |
Earn 5,000 lifetime XP | 1,000 Bonus Credits |
loyal_member |
Loyal Member | POINTS_MILESTONE |
Earn 15,000 lifetime XP | 20% Lifetime VIP Coupon |
streak_starter |
Streak Starter | STREAK_MILESTONE |
5-charge streak | On a Roll Badge |
streak_master |
Streak Master | STREAK_MILESTONE |
30-charge streak | 15% Streak Master Coupon |
- Header & XP Progress Bar:
- Displays total XP, level badge, and animated progress bar towards next level milestone.
- Navigation Tabs:
- Dashboard: Achievements grid, badge showcase, streak tracker, and analytics overview.
- Rewards: Claimable discount coupons and credits with one-tap copy/redeem.
- Leaderboard: Filterable community rankings (
All Time,Weekly,Streaks).
- Settings Modal:
- Toggle notifications, leaderboard visibility, sound effects, and reset progress.
import { useGamificationStore } from '../store/gamificationStore';
import { AchievementTrigger } from '../types/gamification';
// Check achievement trigger when user adds a subscription
useGamificationStore.getState().checkAchievements(AchievementTrigger.SUBSCRIPTION_ADDED, {
totalSubscriptions: 5,
price: 15.99,
});
// Claim and redeem a reward
const rewardId = useGamificationStore.getState().earnedRewards[0]?.id;
if (rewardId) {
useGamificationStore.getState().claimReward(rewardId);
useGamificationStore.getState().redeemReward(rewardId);
}| Operation | Store Execution Time (1,000 Ops) | Memory Footprint |
|---|---|---|
| Achievement Evaluation | < 1.2 ms | ~ 45 KB |
| Point Aggregation & Level Calc | < 0.3 ms | ~ 12 KB |
| Leaderboard Rank Sorting | < 0.8 ms | ~ 28 KB |