Blow out the candles
A little birthday game you give away as a link. Each party (name, age, message, wishes) fits entirely inside the URL: one deployment, as many parties as you like, and the link stays opaque so the surprise holds.

A gift, not a message. The project starts from a birthday and the wish to give something other than a text: a firefly you fly with your finger, candles to blow out by passing right through the flame, a treasure chest at the end of the journey. Design and development from start to finish, in Phaser 3 and Vite.
One party, one URL
That is the idea everything else is built around. The name, the age (which becomes the number of golden candles to blow out), the little note and the personalised wishes are encoded in the link itself. A single deployment therefore serves every party: no code to edit, no redeployment for a new person. And since the link is encoded, you cannot guess the message by reading it: the surprise holds to the end. Progress is stored per party, so three people can play on the same phone without stepping on each other.
The mechanic I threw away
The first version was played by actually blowing: the microphone caught the air and made the character rise. Technically it worked, with ambient noise calibration, a threshold, hysteresis, and even an entry test where you had to blow out a real candle on screen before you could play. But it was impossible to control, and exhausting after thirty seconds. I removed it and archived it in full, in case it ever comes back. That may be what this project taught me best: a mechanic that works is not a mechanic that is fun.
Not a single image
Everything on screen is drawn at startup: the character, the candles, the flames, the buildings, the chest. The sounds follow the same logic, generated by a script then exported to MP3, that last point for a very down-to-earth reason: on iPhone, the little silent switch cuts Web Audio but lets audio tags through. The game installs like an app and runs offline, exactly what you ask of a game you pull out in a garden or on a plane.
Two ways to play
The Super Quest advances through checkpoints: every golden candle blown out saves your progress, a crash sends you back to the last one. Fast Night is an endless mode where speed rises in score tiers, the one you restart « just one last time ». Levels are generated deterministically, and an in-house editor, active in development only, is used to tune them.
A second life as a 404 page
The game also exists in a lighter version, made to live in a site’s 404 page: straight into fast mode, no menu, no service worker, not a line of CSS spilling onto the host page. An error page is always a dead end: you might as well put something to do there.
Around 4,200 lines, 25 commits, started in July 2026. Phaser 3, Vite, Sass, PWA (Workbox), continuous deployment on Netlify.