This is just Musictheory.net chord identification with inversions. https://www.musictheory.net/exercises/chord/dns999xybnnyyyy
Both a fun programming challenge and a useful tool.