BABELdle
A daily word game: roll random letters and hunt for real words hidden in the noise, with badges, rarities and a live leaderboard.
The concept
Inspired by Borges' Library of Babel, Babeldle draws a random "page" of letters every 10 minutes. Each roll is analysed for real French and English words, hidden words, anagrams, palindromes, combos and more. Every find becomes a badge with its own rarity and points.
What I built
- Tamper-proof rolls: letters are drawn only on the server (Supabase Edge Function), from an HMAC-SHA256 seed. Players can't pick or reroll their draw.
- An analysis engine: 1,200+ badges and a 570,000-word dictionary enriched with slang, web culture and brands.
- Probability-driven scoring: each badge's rarity is measured over 3 million simulated rolls, and word rarity is computed exactly. Points follow an exponential curve: ordinary rolls stay modest, exceptional ones explode.
- Real time: other players' jackpots appear live (Supabase Realtime).
- Security: PostgreSQL row-level security, strict CSP, email verification by code, IP-fingerprint abuse protection.
- A polished experience: slot-machine sound effects generated with the Web Audio API, animations, an installable app (PWA) and dark mode.
- SEO: per-page metadata, French and English versions, a dynamic sitemap, and generated preview images for every shared roll.
Stack
Vue 3 · Vite · Supabase (PostgreSQL, Auth, Edge Functions, Realtime) · Node.js · Web Audio API