Sprint 1 — Server Engine, Karaoke & Visualizer
ShippedChart Generation
- •Chart generation now runs server-side (stem splitting via Demucs on a droplet). If the server isn't ready, a client-side chart spins up immediately as a fallback — you always get something to play
- •Stems (drums, bass, melody, vocals) are isolated separately, which makes charts noticeably more accurate
- •All 5 difficulties are generated at once — switch between Chill and Chaos without re-uploading
- •Auto-detect lyrics via Whisper, which also improves chart precision for vocal-heavy songs
File Support
- •MP3, WAV, FLAC, OGG — all supported. Files are compressed and optimized on the way in
New Modes
- •Slash — notes fly outward from the center in 4 directions. Press the matching direction key to slash them as they reach the ring. Notes grow as they expand so you always see them coming
- •Catch — notes fall in 5 columns. Move your catcher left and right (wraps around) to grab them before they hit the ground. Each column has its own color
- •Tiles — full-column tiles drop in 4 lanes. Tap D / F / J / K (or arrow keys) when the tile reaches the line. Fast and clean
- •Karaoke — no gameplay, just lyrics in sync. Current word is highlighted as the song plays, background pulses to the beat
- •Visualizer — passive audio-reactive experience. Pick a scene and let the music drive it. Available in 2D or 3D (Three.js):
| Scene | What it looks like |
|---|---|
| Meteor Rain | Glowing meteors fall on each beat, impacts ripple outward |
| Bloom Garden | Flowers grow and bloom as energy builds |
| Highway Drive | Neon synthwave road, speed syncs to the music |
| Ocean Waves | Swells and foam driven by the rhythm |
| Fireworks | Bursts fire on every beat drop |
Assist Mode
- •New optional difficulty aid toggled before a game starts — lowers note speed and widens the hit window so anyone can play
- •Scores earned in assist mode are tagged with ⛑️ on the leaderboard and ranked below non-assist entries so they don't compete unfairly
- •`assist_mode` flag stored on both the plays log and leaderboard; leaderboard index sorts non-assist first, then by score descending
Feedback & Bug Reports
- •Replaced the external Google Form with a native in-app Bug Report modal — submit directly without leaving the site
- •Three fields: "Did you have fun?" (Yes / No), bug description, and feature idea
- •Reports land in the `rhythmBugReports` Supabase table and surface on the `/admin` page for review
- •Anonymous submissions are allowed; logged-in user ID is attached when available
Home Page
- •Community section now has three tabs: Games, Visualizers, and Community
- •Visualizers tab groups Karaoke and Visualizer modes into their own dedicated browse view, keeping the Games tab clean
UI & Polish
- •Full UI overhaul across the platform
- •Difficulty selector redesigned with clearer labels and per-difficulty descriptions
- •Game description copy added across all modes
- •Visualizer 3D preview component added for scene selection
- •Bug-fix pass across Racing, Dodge, Jump, and Speed games — edge cases that caused crashes or runaway behavior are resolved
Branding
- •Site renamed from MP3 to Game → Song to Game following the purchase of songtogame.com
- •Title, SEO metadata, OG tags, legal copy, and Stripe product names updated across the platform
























