Gamification
Graspful uses XP, streaks, and leaderboards to drive consistent daily practice. The system is calibrated so that gaming it is harder than actually learning.
Design philosophy
Gamification serves learning, not the other way around. Every mechanic exists to reinforce a specific study behavior:
- XP — rewards quality engagement, not time spent or clicks
- Streaks — drive daily consistency, which is the strongest predictor of course completion
- Leaderboards — create healthy social motivation within a cohort
- Completion estimates — connect daily effort to a tangible outcome
The target calibration is roughly 1 XP per minute of quality study. A focused 30-minute session should earn around 30 XP. This keeps the numbers intuitive for learners and administrators.
XP by activity
Different activities award different XP amounts. Harder concepts and lower memory strength increase the payout.
| Activity | XP Range | Notes |
|---|---|---|
| Lesson (new KP) | 10 - 20 | Scales with concept difficulty |
| Review (correct) | 3 - 5 | Scales with memory strength (lower = more XP) |
| Quiz | 15+ | Based on score and question count |
| Section Exam | 25+ | Bonus for first-attempt pass |
| Diagnostic Test | 5 - 10 | Flat rate, no gaming incentive |
Difficulty scaling
XP scales with concept difficulty to reward students who tackle harder material. A difficulty-8 concept awards roughly 2x the XP of a difficulty-3 concept for the same activity type. This prevents students from farming easy concepts for points.
# XP award for completing a new lesson KP
# Base: 10 XP, scaled by concept difficulty
concept: cidr-notation
difficulty: 3
xp_awarded: 12 # 10 * (1 + 0.03 * 3) = 10.9, rounded
concept: multi-az-architecture
difficulty: 7
xp_awarded: 17 # 10 * (1 + 0.03 * 7) = 12.1...
# plus bonus for higher difficulty tier
# Review XP scales inversely with memory strength
# Lower memory = harder recall = more XP
concept: vpc-basics
memory_strength: 0.28
review_xp: 5 # near-forgotten, full review XP
concept: shared-responsibility
memory_strength: 0.45
review_xp: 3 # still fresh-ish, lower XPAnti-gaming measures
The system includes several guards to ensure XP reflects actual learning, not button-mashing.
Minimum response time
Answers submitted in under 2 seconds are flagged. The response is still recorded, but XP is reduced. This prevents rapid-fire guessing without reading the question.
Diminishing returns on retries
The first two attempts at a problem award full XP. From the 3rd attempt onward, XP is significantly reduced. By that point the student has likely memorized the answer rather than understood the concept.
Daily XP cap
A cap of 500 XP per day prevents marathon grinding sessions. Research shows that distributed practice (spreading study across days) dramatically outperforms massed practice (cramming). The cap nudges students toward the better strategy. At ~1 XP/minute, 500 XP represents roughly 8 hours of study, well beyond a healthy daily session.
Streaks
A streak counts consecutive calendar days where the student earned at least 1 XP. It's the simplest and most effective engagement mechanic: just show up and do something every day.
Why streaks work
Streaks convert a vague goal ("I should study more") into a concrete daily action ("I need to answer at least one question today"). The longer the streak, the stronger the motivation to maintain it. A 30-day streak creates real psychological commitment.
Streak mechanics
- Increment: any XP-earning activity on a new calendar day extends the streak by 1
- Reset: missing a full calendar day resets the streak to 0
- Timezone: streaks use the student's local timezone, set at enrollment
- Display: current streak length and longest-ever streak are shown on the student dashboard
Leaderboards
Weekly XP leaderboards rank students within their academy or organization. Leaderboards reset every Monday at midnight (organization timezone) to give everyone a fresh start and prevent runaway leaders from discouraging others.
Scoping
Leaderboards are scoped to the organization level, so students only compete with peers studying similar material. An org admin can enable or disable leaderboards. When disabled, students still earn XP and streaks but don't see rankings.
Completion estimates
Graspful projects a completion date for each course based on the student's daily XP target and remaining content. This makes the abstract ("I'm 40% done") concrete ("At this pace, I'll finish by March 15").
# Completion estimate calculation
course: aws-saa-c03
total_estimated_minutes: 2400 # from course.estimatedHours
completed_minutes: 960 # based on mastered concepts
remaining_minutes: 1440
daily_xp_target: 30 # ~30 min/day at 1 XP/min
projected_days_remaining: 48
projected_completion: "2026-05-10"
# Adjusts dynamically:
# - Faster students see earlier dates
# - Remediation time is factored in
# - Diagnostic test credit reduces remaining timeThe estimate updates daily based on actual pace. Students who consistently exceed their XP target see the date pull forward. Students who slow down see it push back. This feedback loop encourages steady effort.
Configuration
Gamification settings are configured per-organization. Academies can tune the system to match their learner population and culture.
# Organization-level gamification settings
gamification:
xp:
enabled: true
dailyCap: 500 # max XP per day (0 = unlimited)
minResponseTimeMs: 2000 # below this, XP is reduced
retryPenaltyAfter: 2 # reduced XP from attempt 3+
streaks:
enabled: true
timezone: "America/New_York"
leaderboards:
enabled: true
resetDay: "monday" # weekly reset
scope: "organization" # or "course"
completionEstimates:
enabled: true
defaultDailyXpTarget: 30 # used until student sets their own