I highly recommend js13k (https://js13kgames.com), an annual game jam where your entire game must fit in 13 kilobytes. The tight size limit forces you to get creative with optimization - think procedural generation, custom minimal engines, and code golf techniques that actually matter. While the games might be "useless" in a practical sense, you'll learn more about low-level JavaScript optimization than from most serious projects, all while being part of an incredibly supportive community that loves sharing tricks and tips.