3D Birthday Cake — A Wish You Can Blow Out
Build a cake, put a name on it and send the link. Whoever opens it finds a lit cake they can blow out with a finger or with their own breath.
- Category
- Apps
- Type
- In development
- Author
- Deniz Bazan
- Published
- September 14, 2026
- Topics
- WebGL
- Three.js
- Interactive
- Gift
- Multilingual
Live experiment
3D Birthday Cake — make one, then blow it out
The link is the gift
There is no account and no message to compose. You choose a cake, type the name that goes on it, and copy the link — the cake type, the tiers, the candle count, the frosting colour, the background and even the language travel inside it. Whoever receives it opens a cake that is already lit and already theirs.
Blowing it out
A drag across the candles acts like a breath: the flames lean, flicker and go out one by one. With a microphone you can simply blow — the detector watches the low, breathy band of the spectrum rather than raw volume, so a loud room does not put the cake out on its own. When the last flame dies the confetti fires and the music plays.
And a reaction comes back
The receiver is not left holding a screenshot. They can send a like or a short note, which travels back as another link carrying the same cake, so the sender opens it and sees the cake they made with the answer attached.
- F.01Thirteen cake types, from chocolate and red velvet to rainbow and unicorn
- F.02One to eight tiers, one to twelve candles, plus a number candle for the age
- F.03Blow with the microphone or drag a finger across the flames
- F.04Frosting colour, background, text colour and text size
- F.05Candle height and six pieces of music, from a waltz to chiptune
- F.06Turkish, English, German, Spanish and French
- F.07Every setting travels inside the share link
- F.08Runs on a phone: no app, no download, no account
Everything is drawn, not loaded
The cake is generated at runtime: the tiers, the poured glaze and its drips, the candles, the flames and the confetti are all built in code, and even the writing on the cake is painted onto a canvas texture. That is why the whole thing is a single HTML file with nothing to fetch — the app in the frame above is the entire project.