Points, badges, and quests you can drop into any Expo app
A headless gamification engine for Expo and React Native apps — points, badges, quests, inventory, and unlocks with local-first persistence, plus optional styled UI and bundled monetization. For developers who don't want to rebuild the same loop on every project.
Key Features
Track points and award badges from nine criteria types — point thresholds, action counts, quests, items, unlocks, purchases, subscription tiers, ads watched, and compound rules.
Define multi-step quests and read their progress through the useQuest hook, with events fired as steps complete.
Give items and gate features behind unlocks, all persisted locally through the same engine.
A separate /monetize entry point wraps expo-iap and Google Mobile Ads for purchases, subscriptions, and banners — installed only if you use it.
Why We Built This
Every app rebuilds the same loop
Points, badges, and quests get rewritten from scratch in every app that needs them, and the monetization that usually rides along — in-app purchases, subscriptions, ads — gets wired in separately with its own state to keep in sync. This package puts the engine behind plain hooks, keeps it local-first with a pluggable storage adapter, and ships the styled UI and the monetization wrappers as opt-in entry points so nothing native is dragged in unless it's asked for.
The same points counter, badge check, and quest tracker gets rebuilt per app, each with its own bugs around persistence and award timing.
IAP, subscriptions, and ads are usually bolted on beside the reward system, so purchases and watched ads can't feed badges or unlocks without glue code.
Progress is stored on-device through a storage adapter, so a small app gets a working reward loop without a server or an account system.