December 15, 2025

AI hits a high note… then clips

I used Claude Code to write a piano web app

AI builds a piano app fast—fans cheer, purists groan, bug-hunters hit sour notes

TLDR: A developer used Claude Max to whip up a piano web app with recording and playback. Comments praised the speed but slammed audio clipping and timing bugs, and debated whether AI should ask smarter questions and follow directions—great for prototypes, not a stand‑in for seasoned engineers

A developer spun up a piano website with Claude Max—an AI assistant—from a few lines of instructions, and the crowd went full symphony. The app lets you record songs, saves each note with its time in milliseconds, and plays it back at a simple URL. It even added a recording name feature and a cheeky GitHub link with the Octocat logo. The headline claim? AI gave them “90% of the finished product.” Cue the orchestra of opinions.

The biggest drama: is “90%” actually good, or just demo bait? One commenter blasted that the AI should ask smarter questions instead of obediently spitting out tutorial-level code. Another vented that Claude Code “doesn’t listen,” ignoring provided examples like a stubborn intern. Meanwhile, bug-hunters took the stage—one heard audible clipping when clicking keys with a mouse, while another linked a playback where a fast pattern plus held bass note made the middle notes go “synchr…” That sparked jokes about the app confusing a literal piano keyboard with the computer keyboard, plus memes about hiring Fiverr vs. an engineer. The vibe: this thing is wildly useful for a quick build, but still needs human taste, tuning, and a QA pass. In other words, great opening act—bring in a producer for the encore

Key Points

  • The author used Claude Code (with a Claude Max subscription) to build a Rails-based piano web app.
  • Initial prompts defined recordings and notes tables and a /play/:id endpoint with playback controls.
  • Claude generated a keyboard UI, JavaScript for note input, and Rails migrations, routes, controllers, and models.
  • Enhancements added naming for recordings (defaulting to ID) and hid the name field until after recording completion.
  • A footer link to the project’s GitHub repository was added, with Claude generating an SVG Octocat logo. The author also switched away from Postgres due to VPS issues.

Hottest takes

"The Claude the industry needs is one that responds to that prompt with questions about scope and intent" — swatcoder
"there is audible clipping. This doesn't seem to happen when using the keyboard" — eterm
"it doesn't seem to listen to me" — hexad74
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.