Show HN: PianoFun – Browser piano learning game with MIDI (vanilla JavaScript)
2 comments
Nice job - reminds me of the old game Synthesia which uses a similar falling note approach to teach piano. One nice thing about it is that it lets you switch between the following notes and actual grand staff sheet music.
https://synthesiagame.com
If she’s interested in learning to play by ear, I created an educational game called Lend Me Your Ears in the style of the old “Simon” toy. It presents players with a sequence of musical notes that increases over time and challenges them to reproduce it by ear using either an on-screen piano, a connected MIDI keyboard, or an acoustic instrument.
https://lend-me-your-ears.specr.net
https://synthesiagame.com
If she’s interested in learning to play by ear, I created an educational game called Lend Me Your Ears in the style of the old “Simon” toy. It presents players with a sequence of musical notes that increases over time and challenges them to reproduce it by ear using either an on-screen piano, a connected MIDI keyboard, or an acoustic instrument.
https://lend-me-your-ears.specr.net
The inspiration was this post by @RG_Leachman on X: https://x.com/RG_Leachman/status/2035537289812816128
They vibe-coded a piano app for their daughter, and since my daughter is also learning piano I figured I'd give it a shot. The whole thing came together in minutes with Claude Code. My daughter immediately started giving feedback — she's basically the product manager now.
Full story on my blog: https://victorantos.com/posts/hold-my-beer-i-vibe-coded-a-pi...
They vibe-coded a piano app for their daughter, and since my daughter is also learning piano I figured I'd give it a shot. The whole thing came together in minutes with Claude Code. My daughter immediately started giving feedback — she's basically the product manager now.
Full story on my blog: https://victorantos.com/posts/hold-my-beer-i-vibe-coded-a-pi...
My daughter immediately became the product manager — she requested a beat toggle, caught that long notes disappeared too fast on keypress, and spotted visual overlaps I completely missed.
Deliberately vanilla JS/HTML/CSS — no frameworks, no build step. Setup is: USB cable + Chrome + open index.html.
Open source (GPL-3.0): https://github.com/victorantos/PianoFun