So I built the original web app for this (it's not stolen, it's open source and I told OP they could fork it). I've been glad to see it getting more attention over the years.
One note of caution here is that with my older son we did this for a few years and it hasn't really worked as expected. He can identify all the chords perfectly every time, but when we started testing single notes, he was worse than chance at it. In fact, when I activated the secret Easter egg "red only" mode, he was worse than me at choosing between C E and G (though with practice he can now do it perfectly).
I'm working on a version where you can identify single notes instead of just chords.
Also, I gave a talk about this a few years ago and the talk is on YT if anyone is interested: https://youtu.be/l2Z6uEsx9lE
A decent chunk of my PyCon 2025 talk is also about this: https://www.youtube.com/watch?v=NNbq-o5HODY
Thanks for commenting and for doing all the hard work here! (For reference, the story here is that I was using pganssle's web app as a PWA, but encountered some snags on mobile that led me to make a PR, which eventually turned into a fork / TypeScript rewrite at pganssle's suggestion)
I was surprised when I learned about the Eguchi method recommending chords, as I assumed training single notes would be easier. A single note mode sounds like a great idea, I'll put it on the list to add to Bsharp as well. I was also thinking of adding Guitar sounds if I can find or create some good samples.
Maybe also an "identify the root of the chord" mode could be helpful to bridge from the chord sounds to single notes?
Did it help your son to study music?