How does he create those animations? I'd like to make them as well for myself.
Besides figuring out a good way of dealing with reference frames, the only trick I'd pass on is to use CSS variables to change colors and sizes (line widths, arrow dimensions, etc.) interactively. It definitely helps to tighten the feedback loop on those decisions.
I've been using Emmy from the Clojurescript ecosystem, which works pretty good, but has a few quirks.