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