ember.
what this is
There is a tiny fire. You keep it alive by blowing at your phone — really blowing, with your actual breath. Too soft and it starves. Too hard and you scatter it yourself. Wind comes in the night, and you block it with your thumb. Survive until the moon sets, and you reach dawn.
That's the whole game. One minute, most nights.
why i built it
Everyone already knows, somewhere in their body, how to feed a fire with breath — that it needs air that is neither too weak nor too strong. No tutorial teaches you that; campfires and birthday candles already did. I wanted to make something where the controller isn't a button or a joystick but that knowledge itself.
Most microphone toys treat breath like a trigger — blow, thing happens. Ember treats it like an instrument: the fire answers the shape of your exhale, moment to moment. When it works, people don't say "the mic detected me." They lean in close and get gentle with a little pile of pixels, the way you'd get gentle with a real ember cupped in your hands. That tenderness is the point.
Everyone who plays tonight faces the same night — the same winds, seeded by the date. Your 0:52 and your friend's 0:37 happened in the same weather. On Sundays the night runs long for everyone, everywhere, at once.
how it's made
One HTML file. Vanilla JavaScript, Canvas 2D, Web Audio — no engine, no framework, no build step. The source is MIT-licensed and unminified; view-source is the whole game.
privacy
Your microphone audio never leaves your device. The game reads a few numbers from the signal — how much low-frequency energy, how flat the spectrum is — to tell a breath from a noisy room. Nothing is recorded, stored, or transmitted. The mic is released the moment a run ends, and the game plays fully without it.
If you sign your nights with a name, that name and your survival time may appear on the nightly leaderboard when it's running. That's the extent of it: no accounts, no login, no tracking scripts, no cookies beyond your own settings saved in your browser.
play tonight's night