Dots are animated around to form numbers, left over dots are randomly moved around the canvas. Numbers are created using the getImageData() function.
First time I've used the getImageData() function and theres notes on how its working in the pen.
Pretty resource heavy, best viewed on desktop device.
Demo inspired after seeing this pen and having the need to figure out how it works - http://codepen.io/rachsmith/pen/fBoiD.