The XP rules below describe the intended reward policy. Custom Activity SDK calls accept app-supplied XP; they do not calculate a universal time-to-XP conversion, enforce an 80% accuracy gate, or detect cheating. TypeScript accepts negative XP; the reviewed Python activity schema requires nonnegative XP. Agree the formula for your integration and validate the emitted metrics.
Why XP exists
Education software usually forces a false choice: track time (which measures presence, not learning) or track accuracy (which ignores how much work was done). A student who spends 30 focused minutes mastering fractions and a student who clicks through the same lesson in 5 minutes can both show “100% complete”, yet the learning that happened is vastly different. XP solves this by combining effort with proof. It’s a single metric that captures both how long a student worked and whether that work produced verified learning. This makes it possible to compare outcomes across apps, content, and students.The design
1 XP = 1 minute of focused learning. Anchoring XP to real time creates a universal unit that every app in the ecosystem shares. Interpreting XP as calibrated learning effort depends on each contributing app following the agreed policy; a profile total alone does not verify elapsed minutes or mastery. Two concepts make this work:
Expected XP is calibrated at the content level by the app developer. It represents the time a focused student should need to master the material.
Awarded XP is what the student earns after completing the activity. It depends on whether mastery was demonstrated and how efficiently the student worked.
How XP is awarded
Not all effort is equal. XP reflects the quality of learning, not just the fact that something was done.
A student who masters the material efficiently earns full XP. A student who gets it right on the first try earns a bonus. A student who works hard but doesn’t reach mastery earns nothing, because XP represents verified learning, not just participation.
Why negative XP?
If XP can be earned without real cognitive effort, the metric loses its meaning. Negative XP exists to discourage behaviors like exploiting answer patterns or using external tools to bypass assessments. Rather than simply awarding zero, an application may report a deduction under its agreed policy. The custom activity SDK does not detect gaming or issue that deduction itself.How XP flows through the system
When an activity completes, the app reports the XP earned. Timeback processes activity data through the gradebook pipeline and aggregates it in the student’s profile, where it’s surfaced in dashboards alongside XP from other apps. Because every app reports XP using the same unit, the platform can answer questions that no single app can:- Did 30 minutes in App A produce more learning than 30 minutes in App B?
- Which content sequences produce faster mastery for which students?
- Is a student’s total daily effort on track?
Activity Tracking
How apps report XP through the SDK
Non-negotiables
The rules that protect XP integrity