Nice! Out of curiosity, did you build it to learn/practice the low level concepts of deep learning?
If so, was it worth it?
It was worth it for me, since I found it fun to work on, learned many things, and want to continue learning in this area.
A limitation is that one only has to work out the local gradients of operations, which may or may not provide insight into the more complicated models composed of these operations.