A class code
A teacher generates a code and reads it out; a student types it in and is in the class. That is the whole mechanism — there is no roster upload, no SSO integration and no account provisioning to schedule.
lib/class-codes.ts · app/api/class-codes/route.ts
Google Classroom import
If your school already runs Classroom, coursework can be pulled in rather than retyped. It reads what is there; it does not write back.
app/api/classroom/**
This is the section every other page in this category leaves out. It is here because the fastest way to waste a head of department’s term is to let them find it out in week three.
No leaderboard, no rank, no class XP.
There was one and it was removed. A class leaderboard was measured degrading exam performance across a term (Hanus & Fox, 2015) — the students it demotivates are disproportionately the ones already behind, which is the group a school buys this for. We took ours out rather than ship the mechanism that did it, and we are not going to add it back for a tender.
No teacher dashboard.
Not a roadmap item being coy about a date — there is no teacher-facing surface in this product at all today. If you need per-student reporting to sign off a purchase, this is not ready for you, and we would rather you learned that here than in week three.
No automatic school detection.
We do not read a student's location and guess where they go. A code typed by a person is slower and it is the version where nobody is placed in a school they do not attend.
No engagement figure we cannot show you the source of.
No retention percentage, no “40% more revision”, no case study from a school that does not exist. What we publish instead is the calibration curve — how often the app's own predictions turned out right — computed from our log with its sample size printed beside it.