note to self: don't comment on HN until you've had your coffee. my comment was cranky and jealous. :)
i built learn functionality into my MIDI library for browser based UIs in 2012: https://github.com/kn0ll/midi.io unfortunately my synths that use them are long gone. i developed this as the WebMIDI spec was being published and long before it was available in the browser (which is why i'm using web sockets for UDP communication).
anyway, i really did mean "good job mate", your app is awesome.