> everything you need to know when creating production-ready (yet simple!) web applications?
If you mean web applications rather than (mostly static) web sites then I believe that the boring pragmatic approach is to use React + Typescript, at least for the front end stuff. This is where the tooling, documentation, and community all currently come together in the most cohesive manner for modern web application development - or in other words, where you'll be fighting the tech least, and have the most support when you need it.
I know that's a loaded opinion and I spent years resisting it. But I'm glad I overcame my scepticism.
I would love to be working closer to the metal, in this case meaning HTML, CSS, and JS. I spent the first 5 years of my web dev career doing this. But this means you have to deal directly with several different browser engines running across hundreds of potential devices, you have to deal with bundling your assets, transpiling, worrying about what JS and CSS features you can use - it's basically endless, more than one person can handle. Web dev is inherently many layers of abstraction deep and highly fragmented. By using a framework like React and following their best practices, you let someone else, at least partially, deal with that chaos. That's the closest thing we have to a safe, boring, pragmatic path in modern web dev. Yes it's a long way from perfect and you're still barely surfing above the chaos, but I don't think there's a better option.