[This package](https://github.com/choojs/nanomorph) seems to have similar goals. I'm not familiar enough with either to know the differences, but I just wanted to point it out in case you haven't heard of it.