In simple terms, he is making a custom delay-box for a fancy player-piano (the Yamaha Disklavier). For one example he programmed the piano to be symmetric (i.e. any note on one side will nearly immediately play a cognate key from the other side). In another example he has the piano play inversions of arpeggios after he plays them.
There is not much about the code, but a freeze frame at 1' 34" shows a Processing 3 logo [1] which is likely used for generating the real-time graphics for performances, and can also be used to communicate with devices. I think it says great things about the state of programming languages when barriers can be made small enough for professional pianists to make something for themselves!
I'm still amazed at the low barrier nowadays - I just sat down this morning with my keyboard and computer. I downloaded Processing and MidiBus and had Tepfer style symmetric piano and delay working in under 30 minutes (though I had a dusty understanding of Java to begin with). [1] I think I'm inspired to try my own Tepfer-piano playing...
[1]: https://gist.github.com/schollz/f8ec8687e7de784aee6831fb2ca2...
"Goldberg Variations / Variations": https://www.youtube.com/watch?v=V8WGcjB6ryI
Discussion: http://dantepfer.com/blog/?p=444
Also, the animations are stringly reminiscent of the work of Stephen Malinowski ("smalin"). The one around 3:00 is similar to the visualization he made for a guitar transcription of Clair de Lune, but the "balls" look like Euler's Tonnetz[0] grids.
Edit: I commented before reading TFA, where this is referenced. Silly me.
That said, aside from simple symmetry and echo effects, it would be challenging to build on top of this with a system that would adapt to changes of key, tempo and playing style. As in article, human player is always the one who is adapting to fixed algorithm.
I want to hear an algorithm that analyzes the last however many scale tones and models the tonality in real-time so that the piano can intelligently harmonize with the player. It seems like he's just doing simpler stuff like looping, inverting the tones, etc.