Bom dia, Railson!
Muito bem, ficou muito bom!
Algumas sugestões e críticas construtivas.
Antes de mais nada, seu código está organizado, padronizado, e seguindo um padrão consistente de estilo. Meus parabéns, isso é uma excelente prática!
Para melhorar você poderia modularizar mais o seu código, agrupando o código em funções, e então chamando essas funções. Isso deixa seu código reutilizável, mais fácil de ler, e ajuda a não poluir o namespace.
Outra sugestão é, sempre uma variável não for ter seu valor alterado ao longo do código em que ela existe, utilize const
ao invés de let
.
De resto, mais uma vez parabéns, código muito bem escrito.