Frontend from Zero
Welcome
Every website you have ever used is three plain-text languages that a browser turns into something you can see and touch. This course starts at an empty folder and a blank file, and ends with a small site of your own on the web: readable on a phone, usable with a keyboard, and able to answer clicks and load live data.
About This Course
The frontend is the part of software a person actually touches: the text, the buttons, the form you type into. On the web it is built from three languages. HTML says what each part of a page is, CSS says how it looks, and JavaScript says what it does. Every browser on every phone and computer understands all three, and this course teaches them from zero.
It is a hands-on book. Every idea is explained in plain words before any code appears, and almost every page ends with something you type into your own files and see in your own browser. Along the way you build one small site of your own, a home page, a projects page and a contact page, and by the last chapter it is published at an address anyone can open.
Who This Is For
Anyone who uses the web every day and wants to know how to build it: career-switchers, students, designers who want to understand what developers do with their work, testers and support engineers who keep opening DevTools without knowing what they are looking at, and readers of this catalogue who reached the words "the frontend" and wondered what is behind them. If you can install an app and find a file in a folder, you have the background this course needs.
It is not a course about a framework. React, Vue and their relatives are named in the last chapter, with what they are for, but the course teaches the platform they are all built on: the browser, and the three languages it speaks. That knowledge does not go out of date when the next framework arrives.
What You Should Already Know
- How to use a computer, a browser and everyday apps, at an ordinary user's level
- How to find, create and rename files and folders in your file manager
- No programming at all: JavaScript is your first programming language, taught from zero in Chapter 6
- No command line: nothing in this course is typed into a terminal
How the Course Is Built
Thirteen chapters in six movements. The ground (Chapter 1): what frontend is, how a page reaches your screen, and your tools. Meaning (Chapter 2): HTML, the structure of a page. Look (Chapters 3 to 5): CSS, layout, and pages that work on every screen size. Behaviour (Chapters 6 to 9): JavaScript from zero, then using it to change the page and answer the person using it. Input and data (Chapters 10 and 11): forms, and loading data from the internet. Finish (Chapters 12 and 13): accessibility as a discipline, speed, publishing your site, and a map of what comes after this book.
Every topic has the same shape: the problem it solves, the idea built step by step with code you can try, the confusions people really have, why it matters, and a short knowledge check. Where a running example helps, it is your own site. Everything else uses the smallest example that makes the point.
Chapter Map
Disclaimer
This course is an independent educational project created and maintained by Sergey Okinchuk. It is provided for learning and reference purposes only.
No affiliation. This course is not affiliated with, sponsored by, endorsed by, or officially connected to any browser maker, standards body, GitHub, Microsoft, or any other company, product, or organization.
Trademarks. Product and company names referenced are the property of their respective owners. Use of any name is for identification and educational purposes only and does not imply endorsement.
Educational simplifications. This material teaches durable concepts for understanding. Explanations are deliberately simplified for learning; where a simplification could mislead, the text flags it. This course is not professional or legal advice, including on accessibility law.
Accuracy and currency. Browsers, tools and services change over time. Facts reflect the author's understanding at the time of writing, against the web platform features that were widely available in September 2026. Always consult MDN and the official documentation for the current state of any feature or tool.
No warranty. This material is provided "as is" without warranty of any kind. The author accepts no liability for any loss or damage arising from reliance on the content.