This is a project originally made by me (Goncalerta) in KhanAcademy back in 2015. Almost no changes where made, only those really needed to make it able to run outside the website.
If you wish to see the original, click here.