Motivation#
I need to improve my chord playing on the piano, so I wrote a simple tool to help.
What it does#
The first version was a console app. Then I wrote a simple GUI.
- It generates major, minor and dominant chords. Half-diminished and altered are coming.
- You play the random chord starting from the third or the seventh (major and minor), without the root.
- The notes you play, read through MIDI, are compared with the generated ones.
Current GUI#

Version 2: in the browser#
In late 2025 Pchords got a web version. The backend is FastAPI with its own music-theory code for notes, scales, chords, voicings and progressions. The frontend is React and TypeScript with an on-screen piano. In Chrome and Edge it reads a MIDI keyboard directly through Web MIDI and checks the chord as you play. A root-note mode is there for practising full chords. Docker Compose starts the whole thing.