~/ learn web development in the age of AI
Learn to build the web, the hacker way
Interactive web development tutorials — read, answer, contribute. No fluff, just the essentials of HTML, CSS, and the modern stack.
142
Lessons
8
Technologies
5
Languages
125
Guides
$ # HTML Basics
<!doctype html>
<html lang="en">
<head>
<title>Hello, world!</title>
</head>
<body>
<h1>Learn HTML the hacker way</h1>
</body>
</html>
$ quiz: 3 questions · contribute: 1 fix · level: beginner$ ls ~/tutorials
Pick a technology
142 lessons across 8 technologies. Every card opens straight into the first lesson.
JavaScript
Make it live — the language of the browser.
Start: JavaScript Variables & Data TypesMarkdown
Write content that reads like text.
$ why-hackweb
Built to make it stick
Not another wall of documentation.
Run the code, right in the lesson
HTML, CSS, JavaScript and TypeScript examples open in an editor with a live preview or console. Change the code, hit run, and see what happens — no setup, no copy-pasting into a scratch file.
const items = ["a", "b"];
items.forEach((x) => console.log(x));▸ b
Complete multi-file examples
Many lessons end with a real project — a router with several pages, an Express API — shown file by file.
Quizzes that prove it
Multiple-choice and code questions at the end of every lesson, so you know it actually stuck.
Community corrections
Found a typo or a bug? Submit a fix and the author reviews it with a clean, line-by-line diff.
Learn in your language
Guides and lessons in English, Spanish, Portuguese, French and German — translated and reviewed by the community.
Track your progress
A dashboard with completed lessons, correct answers, activity and contribution badges.
Free and open source
No paywall, no credit card, no signup to start. The whole platform is built in the open.
$ how-it-works
How it works
Three steps, no setup required.
Read a short lesson
Concise explanations with small, focused code examples — no walls of text.
Run it and take the quiz
Edit the code, run it in the browser, then answer a few questions to check it stuck.
Build and contribute
Finish a full example, track your progress, and submit fixes to help others.
$ cat ~/roadmap
Your learning path
A structured journey from zero to full-stack.
$ locale -a
Learn in your language
The guides are available in five languages, and lessons are being translated into each. Pick one to browse — you can change it any time from Settings.
$ whoami
Built by the community
Every lesson is open source. Found a bug? Fix it. Want a tutorial in your language? Translate it. The platform grows with its community.
142
Lessons
5
Languages
100%
Free & OSS
125
Guides
$ man hackweb
Frequently asked questions
Is hackweb.dev free?
Yes. Every lesson, guide and quiz is free and open source. There is no paywall, and no account is needed to start learning.
Do I need to sign up?
No. You can read and run every lesson without an account. Sign in with GitHub only if you want to save progress, earn badges, or contribute fixes.
I'm a complete beginner. Where do I start?
Start with HTML, then CSS, then JavaScript. The roadmap lays out the full path from zero to full-stack, and every technology page opens with its first lesson.
Can I run the code inside the lessons?
Yes. HTML, CSS, JavaScript and TypeScript examples run right in the page with an editor and an output pane. Other snippets open in a read-only editor with a copy button.
Which languages are available?
The site and the guides are available in English, Spanish, Portuguese, French and German, and lessons are being translated into each. Change your language from Settings.
How is this different from other tutorials?
Lessons are short and interactive: read a little, run the code, answer a quiz. Many lessons end with a complete multi-file example, so you see how the pieces fit together.
Can I contribute?
Absolutely. Every lesson is open source. Spot a typo or a bug? Submit a suggestion and the author reviews it with a clean diff before it goes live.
$ start-learning
Your first lesson is ten minutes away
No signup. No credit card. Open a lesson, run the code, and see it click.