All the details of the design and how it works are available in my little electronic projects GitHub repo (it is basically my open lab notebook, with a catalog of over 400 projects now).

Here's a quick demo of the contraption in action: