I built GameDeck — a gaming platform where you pick a badge, type a name,
and play. That's it. No accounts, no launcher downloads, no tracking.
Here's how I built it and what I learned.
The stack
- Frontend: Pure browser-based, vanilla JS
- Deployment: Google Cloud Run
- i18n: 3 languages (EN, 简体中文, 繁體中文) with instant switching
- Identity: Emoji badge system — no usernames, no passwords
The architecture
The entire app is a single-page browser app. No backend for user auth
(because there is no auth). Sessions are ephemeral — nothing is stored.
Multi-language i18n
Adding 3 languages was the #1 feature request within 24 hours of launch.
Simple key-value translation maps, no framework needed.
The badge identity system
Instead of usernames, users pick an emoji badge (🎮 ⚡ 🦊 🐉 🐼 🚀 🐱 🐯 🌟 🍿).
This turned out to be the most talked-about feature. It's fun, zero-friction,
and surprisingly expressive.
Privacy by default
No data collected. No cookies. No analytics. Just the game.
Privacy isn't a feature — it's the absence of features that invade privacy.
What I'd do differently
- Multi-language from day 1
- More game variety before launch
- Better mobile responsiveness
Try it: https://gamedeck-804028808308.us-west2.run.app
Source: Built solo, open to questions!
Would love feedback from the dev community — especially on the browser
game architecture and i18n approach.
Top comments (1)
The line about privacy being the absence of invasive features rather than a feature you add is a sharp way to put it, it turns "no accounts" into a stance instead of a gap. The badge idea is fun, and it got me wondering about collisions, if two people both pick 🦊 and type "Alex," does anything tell them apart in a shared game or on a scoreboard, or is that just part of the throwaway vibe? For a platform with no lasting identity, that tension feels like the fun thing to design around.