Quite an interesting concept. The few criticisms I have are that the dots as a visualizer are a bit hard to understand and there being only one level. Maybe having a "input" bit set and an "output" bit set with gates in the middle would help out with the visualization?