Skip to content
Live · classcookies.com

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.

The Class Cookies home page hero: 'Pick a game. Put it on the screen.'
5games, each free to play in full
8free tools: timer, stopwatch, clock, name spinner, team decider, coin flip, scoreboard, whiteboard
43free worksheets to download
2,670automated tests passing on the platform

As of 7 October 2026.

What's in it

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.

Screens

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.

Architecture

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?"

Architecture diagram: the teacher's laptop reaches six apps on Vercel in Seoul, which read the Class Cookies platform database, with separate databases for 59 Seconds and Taco Trivia, and Paddle, Resend and Porkbun as outside services.
How the pieces connect. Signing in on classcookies.com sets one session cookie that every game can read; a game asks the platform whether the teacher has subscribed, using the teacher's own session.

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.

Flow diagram: signed out, a teacher gets every game free; signed in without a subscription, My Classroom with two classes; subscribed, every deck, pack and role plus unlimited classes and lists.
What a teacher can use. The same check answers for all six apps.
Data and privacy

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.
Entity-relationship diagram of the 25 platform tables, grouped into accounts and billing, My Classroom, The Staffroom, game content and backup.
The platform database. Every class, list, note and post belongs to a teacher; deletes cascade down from the teacher.
Measured, 7 October 2026

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.

ProductAutomated testsBuildLighthouse, desktopLighthouse, mobile
Class Cookies2,670 passingpasses100 · 100 · 100 (home, pricing, timer)98 · 98 · 99
59 Seconds111 passingpasses98 play · 81 home81 play · 67 home
Taco Triviano test suitepasses on Vercel100 setup · 96 home95 setup · 82 home
Mango Mafia729 passingpasses100 · 10093 home · 87 play
Super Mushroom Man216 passingpasses10095
Cookie Code57 passingpasses10099
  • 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.
Built

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).

Next.js 16React 19TypeScriptTailwind CSS 4SupabasePostgreSQL + RLSPaddle BillingResendVercel (Seoul)Vitest