A continuation of https://news.ycombinator.com/item?id=13660086 which has been incredibly useful to me.
I recently finished this phenomenal book called "Building Enterprise JavaScript Applications":
https://www.packtpub.com/web-development/building-enterprise-javascript-applications
Which takes the reader from zero to building a non-trivial production fullstack application with JavaScript. I also recommend "Building Git". The title is self-explanatory:
https://shop.jcoglan.com/building-git/
Other resources:
https://github.com/AlgoryL/Projects-from-Scratch
https://github.com/tuvtran/project-based-learning
It literally started with an explosion in a can, and then progressively enhanced that idea step-by-step: add a lid to the can to capture the energy, add a lever to keep the can lid from flying away, and then attach the lever to a wheel so that it returns the lid to the top of the can for another explosion, add walls to guide the lid, ta-da! Piston.
It goes on like that, adding each piece of the puzzle in a logical way, until you have a mental model of an internal combustion engine. You definitely feel like you could build one from scratch (if you had the metallurgy skill.)