http://jsraccoon.ru/tip-advanced-reduce – продвинутое использование метода reduce
https://learn.javascript.ru/array-iteration – Массив: перебирающие методы


Promise – удобный способ организации асинхронного кода.
https://learn.javascript.ru/promise


Canvas
https://youtu.be/yXQADptc5OY – Как сделать классную анимацию для фона в Canvas


MutationObserver – отследить изменения элемента
https://developer.mozilla.org/[..]API/MutationObserver