Valerio Ciotti

Orbit · Games · October 2026

Draw badly, bluff boldly

Drawbluff. A party game for 3 to 10 players. Everyone draws a secret prompt on their phone, invents fake titles for the others' drawings, then tries to spot the real one.

The lobby on the TV. Phones scan the code and join; bots fill the empty seats.
The lobby on the TV. Phones scan the code and join; bots fill the empty seats.

The best party games are played on the TV, with everyone's phone as the controller. I wanted one that runs from my own laptop: no accounts, no app store, nothing to install on the phones.

The TV shows a QR code and a four-letter room code. Everyone scans it, picks a name and draws a small portrait of themselves, which becomes their avatar for the evening.

A finished drawing, waiting for titles.
A finished drawing, waiting for titles.

Then each player gets a secret, slightly absurd prompt on their phone, something like "a pyramid with an elevator", and has ninety seconds to draw it with a finger.

Nobody draws well under a timer, and that is the point.

The real title is hidden among the fakes.
The real title is hidden among the fakes.

One by one the drawings appear on the TV. Everyone except the artist writes a title for it: a title they think the others might mistake for the real one.

All the titles go up on screen together with the real one, and each player votes for the one they believe is true. Find the real title and you score. Fool someone with your invented one and you score too. The artist scores when people guess right, so it pays to draw clearly.

The reveal, with who picked what.
The reveal, with who picked what.

A small detail changed how the game felt. My first version asked players to "write a lie". That felt misleading, almost like being asked to cheat. "Write a title" is the same rule, but it sounds like a game.

A presenter voice, generated locally with Kokoro, reads out what happens over music that the browser composes on the fly.

The end of the night, with the gallery of everything that was drawn.
The end of the night, with the gallery of everything that was drawn.

Under the hood it is deliberately plain: a Node server with no npm dependencies for the game itself, Server-Sent Events to push the state to every screen, and ordinary POST requests back. That turned out to be all a real-time party game needs.

There are 1,251 prompts, and the second round doubles the points, so a game is never decided until the end.

Made with Node.js (no dependencies), Server-Sent Events, Canvas, Kokoro TTS, WebAudio.

Comments

Sign in with GitHub to leave a comment or react.

In the same orbit