This is really neat, good job!
This reminded me of "Code" by Charles Petzold, which I saw you reference in the About page. As a software engineer with an interest (but no professional training) in hardware design, I think it's useful and interesting to have at least a basic understanding of how a CPU handles logic.
Can I ask what library (if any) you used for the canvas interactions? I'm looking for something similar for a project of my own.