Skip to content
Live · part of Class Cookies

Mango Mafia

The Mafia party game for ESL classes of 4 to 20 students. The teacher is the moderator; the app deals the roles, remembers who is who, and tells the teacher exactly what to say and do next.

Night 1: 'Mafia, wake up. Who do you want to remove? Point at a player.' above eight player cards.
14roles: 4 free, 10 more with a subscription
4–20players on one screen
729automated tests passing
0student devices

As of 7 October 2026. Player names in these screens are made up.

How a round runs

A script for the teacher, one step at a time

  1. Names and roles. Type the players in (a subscriber can load a class from My Classroom), then choose how many of each role.
  2. The handout. With the class's eyes closed, each student comes up and sees their role alone.
  3. Night. The app reads each role's line ("Mafia, wake up…"); the teacher clicks whoever the student points at.
  4. Morning. The app reveals what happened, with an optional drumroll, then runs a timed discussion.
  5. The vote. One vote per living player, with undo; a tie means nobody goes out. The app spots the win.
Design rules

The screen is public

Everyone in the room can see the projector, so the game must never give a secret away.

  • Nothing the teacher selects at night stays visibly marked, and no prompt hints at who did what.
  • Kid-safe words throughout: players are "removed" or "out", and the Bomber became the Party Popper.
  • "Back one turn" undoes a mistake, and a built-in guide outlines the next thing to click.
  • 729 automated tests in 57 files, including whole games played to a win and checks that no screen leaks a hidden role.
  • Subscribers can load a class from My Classroom. Only the class's id travels in the link; the names are read with the teacher's own sign-in.
  • Lighthouse Performance on 7 October: 100 on desktop; 93 (home) and 87 (play) on mobile, where the character art is the heaviest part of the page.

Built between 26 July and 6 October 2026: 45 commits on the production branch, every one with a Claude co-author line.

Next.js 16React 19TypeScriptTailwind CSS 4VitestWeb Audio APIVercel (Seoul)