BUILT INTO EVERY GOODSPEED APP
Gamification (Streaks, Points, Badges)
Streaks, a points system, and achievements/badges are all pre-built as Static components with a shared gamification.ts library, so apps get Day-1 retention mechanics without building the counter logic, streak-freeze, or celebration animations from scratch.
- Tier: Common
- Status: Config-toggled
- Config: features.gamification.enabled
WHY IT MATTERS
Most mobile app projects spend weeks plumbing the same infrastructure before writing a single line of product code. Gamification (Streaks, Points, Badges) is one of those cross-cutting concerns that every app eventually needs but almost none get right the first time. Permissions are handled incorrectly, tokens expire silently, or the feature breaks after an OS update nobody tested against.
Goodspeed solves this by shipping gamification (streaks, points, badges) as a production-grade, tested implementation inside every generated app. The code follows the patterns in the GAS template - the same 246-feature catalog that powers every app we build. Controlled by `features.gamification.enabled` in gas.config.ts. You own the code from day one, can read every line, and can hire any React Native developer to extend it. The build pipeline verifies the feature compiles and routes resolve before the app lands in your repository, so you are not the one catching the integration error at 2 am before launch.
HOW IT IS WIRED
Real code from the GAS template
The excerpt below is lifted verbatim from gas.config.ts in the gas-template repository. This is the code your generated app gets, not pseudocode, not a description of intent.
// Enable this feature in gas.config.ts
export const gasConfig = {
features: {
// Set the relevant flag to true to enable
},
};Source: goodspeed-apps/gas-template → gas.config.ts
HONEST LIMITS
When Gamification (Streaks, Points, Badges) is the wrong choice
Gamification mechanics backfire in utility apps where users resent being scored on rote tasks (expense reporting, medical logging): omit unless the app's core loop benefits from habit-building.
Tier: Common · Config-toggled
Evaluate your use case
Check whether gamification (streaks, points, badges) aligns with your target audience, platform constraints, and regulatory environment before enabling it.
Audit the config
The `features.gamification.enabled` flag controls this feature. Set it to false in gas.config.ts to disable the feature entirely with no residual code paths.
Seek alternatives
If the built-in implementation does not fit, the generated codebase is standard React Native + Expo code. Any library in the Expo ecosystem can replace the default.
APPS USING THIS FEATURE
Every generated Goodspeed app includes gamification (streaks, points, badges). Browse the ideas catalog to see apps across all categories that ship with this feature wired in.
CAPABILITIES
Gamification (Streaks, Points, Badges) capability breakdown
Concrete dimensions of what the built-in gamification (streaks, points, badges) implementation covers. These reflect the actual template code, not a marketing summary.
| Item | Description | Strength |
|---|---|---|
| Storage backend | Data for this feature is managed by AsyncStorage (local, keyed by app slug). | AsyncStorage (local, keyed by app slug) |
| Network mode | This feature operates in Offline-first mode. | Offline-first |
| Sync frequency | Data syncs On-write (immediate local persist). | On-write (immediate local persist) |
| Tier | Common feature — config-toggled. | Common |
| Template status | Enabled via features.gamification.enabled. | Config-toggled |
GET IT BUILT INTO YOUR APP