Nice job. Having built a couple of play-by-ear training games, my recommendation would be to add support for MIDI controllers. If you use the WebMIDI.js project, it should be relatively easy to set up.
The game is client side, and the stats are stored in a tiny Pocketbase instance. Ensuring the stats aren't spammed is an interesting problem with a client side browser game. If it becomes a problem I might look into a server issued token solution.