Class Cookies
Classroom games and tools for English teachers, made for one projector or TV and no student devices. Every game is free to play in full with no sign-in. A subscription adds more content in most games and more of My Classroom.

As of 7 October 2026.
Everything a teacher puts on the screen
Five games
59 Seconds, Taco Trivia, Mango Mafia, Super Mushroom Man and Cookie Code. Each runs on its own address under classcookies.com and is free to play in full; a subscription adds more decks, packs or roles in four of them.
My Classroom
Class lists with students, avatars and scores, comments on students, word and sentence lists, and a calendar. Free accounts keep two classes; the scoreboard, team decider and name spinner can load a class.
Free tools
Eight tools that need no account: classroom timer, stopwatch, clock, a name spinner ("Let the Donut Decide"), team decider, coin flip, scoreboard and whiteboard.
The Staffroom
43 free worksheets anyone can download, and a discussion forum where subscribed teachers post, reply and save collections. Posts can be reported, and an admin moderates them.
Pricing. $4.99 a month or $49.99 a year. Open to subscribers since 16 October 2026.
What teachers see
Screens with a signed-in teacher come from a test copy of the platform filled with made-up data, such as the "Mango Test" class.








Six apps that feel like one
The platform and each game are separate repositories and separate deploys, so one can change without risking the others. They share two things: a sign-in, and one answer to "has this teacher subscribed?"

The database decides, not the page
The platform database has 25 tables, and row-level security is switched on for every one: 90 policies say who may read or change each row. Whether a teacher has paid is one function, is_subscribed(), used inside those policies, so a page that forgets a check cannot leak or unlock anything.
Billing kept narrow
Paddle is the merchant of record. Its signed webhooks are the only thing that writes a subscription, through one database function that applies each event once. The privileged database key is used in exactly two places: that billing function and the short-lived download links for worksheets.

Built around classroom data
- A class list holds a name, an avatar and an optional gender for each student: no emails, birthdays or contact details. Comments on students are the most sensitive rows, readable only by the teacher who owns the class.
- When a teacher opens Mango Mafia with a class, only the class's id travels in the link, never a name; the game reads the names with the teacher's own session.
- The platform runs no analytics, tag manager or tracking script, and calls no AI service; automated tests fail if either is added.
- A daily backup copies the database through a read-only role, encrypts it with gpg to a key the backup machine cannot decrypt, and keeps copies off that machine. A full restore was tested on 2 October 2026.
- Free accounts can always read and delete their classes, even past the free limit; only adding and editing are limited.
- No real teacher or student data appears on this site.

How it holds up
Tests were run on fresh copies of each production branch; page scores and response times were measured on the live sites from Seoul.
| Product | Automated tests | Build | Lighthouse, desktop | Lighthouse, mobile |
|---|---|---|---|---|
| Class Cookies | 2,670 passing | passes | 100 · 100 · 100 (home, pricing, timer) | 98 · 98 · 99 |
| 59 Seconds | 111 passing | passes | 98 play · 81 home | 81 play · 67 home |
| Taco Trivia | no test suite | passes on Vercel | 100 setup · 96 home | 95 setup · 82 home |
| Mango Mafia | 729 passing | passes | 100 · 100 | 93 home · 87 play |
| Super Mushroom Man | 216 passing | passes | 100 | 95 |
| Cookie Code | 57 passing | passes | 100 | 99 |
- Lighthouse 13.5.0 Performance scores, median of three runs. Accessibility scored 92 to 100 on every page measured, from automated checks only.
- From Seoul, cached pages answer in about 50 ms (median time to first byte); server-rendered game pages in 110 to 175 ms.
- On 7 October three of the four lower mobile scores came from large images (59 Seconds' home loaded about 2.4 MB of them, since cut to 361 KB in total; Mango Mafia's play screen loaded 2.5 MB of character art); the fourth, 59 Seconds' play screen, from web fonts that block the first paint.
- Typecheck has no errors in any of the six. Lint has no errors except 59 Seconds, which sits at the 12-error baseline it records.
- Not measured: Class Cookies' 180 integration tests (they need a local database), database query times, and anything from outside Korea.
- There is no automated pipeline: the agents run the checks before each release, and a release happens only when I ask for one.
From first commit to today
The first commit was on 18 August 2026, the day the site went live; the latest is from 6 October 2026. In that time the platform has had 427 commits on its production branch, 424 of them with a Claude co-author line.
I set the plan and the rules in the repository's instruction files, approve each step, and decide every release. See how I build.
The full write-up is the Class Cookies technical report (PDF, 33 pages, October 2026).