DEV Community

Vladimir Biryukov
Vladimir Biryukov

Posted on

A New Year's card that speaks 34 languages and knows your friend's name — built with vanilla JS, no frameworks

Hi everyone!
I wanted to send a personal New Year greeting to friends around the world — but I didn’t want them to see it in Russian or English by default.
So I built Happy2026Year.ru
— a single HTML file that:

🌍 Supports 34 languages (including Armenian, Urdu, Georgian, Uzbek, Persian, and more)
👤 Personalizes by name: ?lang=de&name=Matthias → "Frohes neues Jahr, Matthias!"
🎶 Plays one of 31 New Year melodies at random, and auto-plays the next after 5 seconds
🔢 Shows a real visit counter (via Supabase, not localStorage)
📱 Has dynamic Open Graph tags — so WhatsApp/Telegram previews appear in the correct language
⏳ Includes a smart holiday countdown (New Year → Christmas → Old New Year → next NY)
⛄ Interactive snowman — click his arm to make him wave!
🖨️ PDF export for printing (with huge snowman inside)
Enter fullscreen mode Exit fullscreen mode

Tech stack:
Pure HTML/CSS/JS (250 KB), no frameworks, no build step.
Audio files are local (/audio/jingle01.mp3…), Supabase is loaded from a local supabase.js to avoid CDN blocks in Russia.

Try it:
For Matthias (German)

For Ahmed (Arabic)

For Tanaka-san (Japanese)

The whole project is one index.html file — you can view source, copy, and remix it freely.
It’s my little gift to the global dev community ❤️

Source: View page source

Inspired by: Human connection, not tech specs.

Top comments (0)