📅 May 25, 2026

Cakelia

An interactive cake customizer and virtual celebration engine — configure custom names, ages, and designs to generate shareable birthday links where recipients can physically blow out the candle using their microphone.

Mr Emballage screenshot

Cakelia started from a simple question: what if a birthday wish could actually feel interactive? Instead of a static image or a plain message, Cakelia lets you build a personalised birthday cake — choose the recipient's name, age, and visual design — then share a unique link that opens a live celebration experience.

The centrepiece is the candle-blowing mechanic. When a recipient opens their link, the page listens through the microphone for a real blow. The Web Audio API measures ambient volume in real time and triggers the flame-out animation only when a genuine breath is detected — no button click, no shortcut. It makes the moment feel genuinely earned.

Each shareable URL encodes the full cake configuration — name, age, and theme — directly in the query string. There is no database, no user account, and no server-side session. The link is the state. Anyone with the URL gets the exact same personalised cake, on any device, instantly.

The customizer itself is built as a live-preview editor: every change to the name, candle count, or colour scheme reflects on the cake in real time before the link is ever generated. The rendering layer uses Canvas so the cake illustration and flame animation stay smooth across low-powered mobile devices, which is where most recipients will open their link.

Accessibility was a deliberate constraint. The microphone prompt is never silent — a clear permission dialog explains what the page needs and why. If permission is denied, a fallback interaction (a tap anywhere on the cake) still lets the recipient participate in the moment without feeling locked out.

Tech Stack

Next.js, TypeScript, Tailwind CSS, Web Audio API, HTML Canvas, URL-encoded state, Vercel

I ❤ ML