This is something I’ve had lying around in a primitive form for quite a few years now. Back in the olden days when I was in college studying music I built a little program to help me reference my notation to my fretboard, to see which notes to improvise with, and so forth. Now I decided to put a shiny interface on it and let anybody else use it too.
I’ve built it to display any scale, arpeggio, chord or chord progression, in any key, on either a fretboard, a keyboard or on a musical staff. It does this by using lots of really interesting maths that sits behind music theory. The program builds out from a key signature based on the circle of fifths to a pattern that manipulates the major scale to a peripheral that takes the notes and displays them as they are played. Very cool.