Interesting concept. Could use a bit more variety.
Also, a minor thing but the browser window moves around when pressing the arrow keys in the game. I think it needs an JS event listener attached to the canvas that consumes the event after it's handled by the game so that it doesn't propagate the event back to the browser.