While the source code isn't public for now, you'll find a detailed breakdown of the architecture, decisions, and implementation approach below.
What
Falling tile rhythm game playable entirely from the keyboard. Notes fall from the top — hit them before they reach the bottom to score. Supports 7 built-in songs across 3 difficulty stages. Audio is synthesized in real-time via Tone.js with MIDI note data.
Why
...
Features
- Score and streak system with a multiplier every 10 consecutive hits
- 7 songs: Twinkle Twinkle, Happy Birthday, Ode to Joy, Für Elise, Beethoven's 5th, and more
- Interactive 2-octave piano keyboard (C4–E5) with colored keys
- Multi-layout support: QWERTY, Turkish Q, AZERTY, QWERTZ
Stack
| Layer | Choice | |---|---| | UI | React 18 + Vite | | Audio | Tone.js | | MIDI parsing | @tonejs/midi | | Tests | Vitest + Testing Library |
What I learned
...