I know a little Python and have built a few small programs in Godot, but I have very little understanding of how websites work. I can follow a basic JavaScript "Hello, World!" example, but I'm not sure what to learn next or which steps lead to a functioning website. What topics, tools, and projects should I work through so I understand the fundamentals without getting distracted by clickbait lists of frameworks and programming languages?
3 Answers
A front end can be very simple: a server delivers HTML, CSS, and JavaScript files, and the visitor’s browser downloads and runs them. You don’t necessarily need a back end at all for a static site. Add one only when you need server-side features such as storing data, user accounts, or processing submissions. At that point, learn how HTTP requests work, including form submissions and JavaScript fetch requests, then explore a server language or framework and a database. For now, focus on HTML, CSS, JavaScript, browser developer tools, accessibility, and deploying a small static site.
Don’t wait until you understand everything before building. Make a basic personal page, add an image, create a button that changes the background color, and gradually add forms or a small to-do list. Test each feature as you go. Coming from Python, the syntax should be manageable; the biggest new ideas are how the browser handles events and how JavaScript interacts with the DOM.
Start with the three core browser technologies: HTML provides the page structure, CSS controls its appearance and layout, and JavaScript adds behavior. Learn how to connect them in a simple project, then study the DOM, events, and event listeners so your code can react when someone clicks, types, or submits a form. Vanilla JavaScript is a good place to begin; frameworks such as React or Angular make more sense after you understand the basics.
A structured beginner course can help, but make sure it includes projects rather than only syntax. Building a few small pages will expose the gaps in your knowledge much faster.

That makes sense. Starting with a deliberately small page sounds less overwhelming than trying to learn the entire web stack first.