Before yesterday, I hadn't written any JavaScript code in a long time. So I finally decided to implement an idea that I had been thinking about for quite a while: [...]