Back to browse
GitHub Repository

Learn piano the fun way — a browser-based piano learning game with MIDI support

8 starsJavaScript

PianoFun – Browser piano learning game with MIDI (vanilla JavaScript)

by victorbuilds·Mar 22, 2026·3 points·2 comments

AI Analysis

●●SolidCozyShip It

Zero-setup Web MIDI piano trainer built with vanilla JS and Claude Code.

Strengths
  • No build step or server; just open index.html in Chrome.
  • Web MIDI API integration handles USB keyboard input without drivers.
  • Kid-tested UX fixes like long-note timing and visual overlap handling.
Weaknesses
  • Falling-note mechanic matches Synthesia exactly with no new gameplay twists.
  • Song library appears fixed; no custom MIDI import feature mentioned.
Category
Target Audience

Parents teaching kids piano, music teachers

Similar To

Synthesia · Piano Tiles · Web MIDI API demos

Post Description

My daughter is learning piano, and I saw someone on X who vibe-coded a similar app for their kid. So I plugged a USB cable into our 10-year-old Casio AP-450, fired up Claude Code, and had a working falling-note game in minutes.

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

Similar Projects

AI/ML●●●Banger

AI Jam Sessions – MCP server that teaches AI to practice piano

Teaches LLMs to play piano by giving them ears, eyes, and persistent practice journals.

Zero to OneWizardryBig Brain
mikeyfrilot
103mo ago
GamingMid

We rebuilt Flood-It in Bun/vanilla JavaScript, and added a Maze mode

Maze mode is a thoughtful twist — you’re no longer just coloring tiles but navigating corridors to a goal, which changes tactics in a satisfying way. The repo is also a small engineering showpiece: the author stripped out React/Tailwind for vanilla JS on Bun and used tools like OpenAI Codex and Windsurf IDE, so it’s as useful for learning implementation choices as it is for killing five minutes.

CozyWizardry
ekremkrc
113mo ago