I'm asking this as the author of domvm [1] and a 60 LOC todo implementation [2] that also exposes a usable API.
[1] https://github.com/leeoniya/domvm
[2] https://leeoniya.github.io/domvm/demos/todo-alt.html