AI · Interaction · 2026
My twin nephews needed a birthday gift. Something they wouldn't lose, couldn't break, but still had that moment of not knowing what's underneath.
Try it
Drag to scratch. Try different amounts and messages.
What it is
I needed to give my twin nephews a gift that was an experience, not a physical card they'd immediately lose. I wanted something digital that would last at least a month, could be downloaded if they wanted to print it, but still had that moment of suspense built in. The scratch card mechanic felt right: the analogue anticipation of not knowing what's underneath, translated to a screen. They could scratch it with a finger on their phones, reveal the surprise, and keep it. It worked. They both loved it.
How I built it
Built in a day. The core interaction is a Canvas API scratch effect: a layer drawn on canvas, erased progressively by mouse or touch events to reveal what's underneath. Cards are stored in MongoDB with a TTL index that auto-expires them after 30 days. The editor covers full customisation: recipient name, scratch texture (silver, gold, rainbow), background colour or image, title, message, and signature. Once created, each card gets a unique URL and a QR code, shareable by link, email, or native share on mobile. Deployed on Railway with auto-deploy from the main branch.
Built with