This is a plain vanilla JavaScript exercise, without any libraries, transpilers or frameworks. You can find the original JavaScript30 here and my public code on Github.