Very well made game, fun track to listen to as well. I have one question on the note timingis - are they positioned right on the beat with margin only before the beat? I might be wrong but it feels like your margin of error is getting you to press them earlier. This could also be just a web input lag issue though.
For rhythm games it can be useful to add snapping to allow for automatic timing to the bpm from code. I get the visual refernce, but what I was thinking was that it is better to also be able to hit them late. The point is to have the timing target in the middle of your margin of error - so then you don't need to play behind the beat, but on the beat.