Shameless plug: I built something similar awhile back as an excuse to learn the basics of React http://chordial.us/ .
Just one piece of feedback - for your diminished chord, you spell C dim as C, Eb, F#. Technically this should be C, Eb, Gb. This is because the definition of a diminished is two minor thirds, and the way you have it spelled is a minor third followed by an augmented second. While these are enharmonically the same, from a theory perspective, the spelling is not correct!
Otherwise really neat!