Overview
MemoryBeat is a skribbl-style music guessing game: a 30-second song clip plays and players race to type the correct title in chat, with points awarded on a speed-decaying curve. It supports singleplayer, custom multiplayer rooms, and a daily global challenge with the same five songs for every player.
Features
- Real-time multiplayer rooms with join codes, shareable links, player limits, and optional passwords
- Singleplayer mode with selectable song packs or an imported playlist
- Daily challenge: the same five songs worldwide per day, with Discord sign-in and a global leaderboard
- Kahoot-style score decay that rewards faster correct guesses
- Adjustable difficulty slider that reweights song selection toward deeper cuts without hard-filtering
- Multiple-choice answer mode with decoys drawn from songs of similar popularity
- Playlist import from Deezer or Spotify, validated for playability before a room starts
- Web Audio API-driven audio visualizer and vote-kick in rooms
How it works
Song packs are built offline by scraping Billboard Year-End Hot 100 data and Last.fm listener counts into a SQLite database, where each track is scored for popularity. At runtime, tracks are resolved against the iTunes Search API for 30-second preview clips, proxied through the server so the answer isn’t visible in devtools. Gameplay — rooms, chat-as-guess interception, scoring, lobby state — runs over Socket.IO with an Express backend, while the daily challenge uses a date-seeded shuffle frozen into the database on first request so a failed song lookup doesn’t affect every player’s run.
