Skip to main content Accessibility Feedback

Learn a simpler way to build for the web with vanilla JavaScript and more.

Get unlimited access to hundreds of tutorials, workshops, tools, and a supportive developer community.

Hate the complexity of modern web development?

  • 410+ Tutorials
  • 71 Projects
  • 6 Learning Paths
  • 24/7 Peer Chat

You’re not alone! The Lean Web Club is an opinionated learning platform that will teach you how to build a simpler, more resilient web with vanilla JavaScript and more.

  • Watch and read short, focused tutorials on moderne web development.
  • Learn by doing with real projects, including templates and solutions.
  • Follow structured learning paths around specific topics.
  • Join a private Discord community of like-minded developers.
  • Access templates, tiny libraries, and boilerplates to speed up development.
Wanting to learn JavaScript from scratch, make the transition from jQuery or some other library? Already pretty competent and just want to get better?

Chris Ferdinandi has got your back and his learning platform is a *tremendously good value*.- Jonathan Schofield

Join developers from companies like...

Short, focused tutorials made for beginners

Explore over 410 tutorials (and growing) about vanilla JavaScript and more…

  • DOM manipulation and injection
  • Strings, numbers, arrays, and objects
  • Ajax, Promises, and APIs
  • How to structure and organize code
  • Patterns for writing JS libraries
  • ES Modules
  • Service Workers
  • Web Components
  • State-Based UI
  • Testing JavaScript
  • Serverless
  • How to get and set URL parameters
  • Dates and times
  • Ditching JavaScript for HTML
  • Web Accessibility
  • And more...

🧠 Multiple formats for different learning styles. Tutorials include both written text and streaming HD videos (with captions). Watch or read on any device.

Work on real projects

Reinforce your learning and build your portfolio by working on real projects. Each project includes templates, tutorials to help you get unstuck, and detailed solutions.

Fortune Teller

Build an app that tells users their fortune.

Table of Contents

Generate a table of contents from page headings.


An app that randomly chooses from a list of options.

GitHub API

Dynamically render a list of repositories.

Show Passwords

Toggle password visibility with a checkbox.

Word Count

Count the number of words in a block of text.

Roll the Dice

Build a library for rolling dice of various sizes.

Find the Monsters

A game: find the monsters and avoid the sock.

Form Saver

Automatically save form data as a user types.

and more...

This program is super hands-on. I always wanted to learn how to make my own libraries, or to know how jQuery library works. Async, Promises and Fetch was another huge one for me, that I used in my projects right away.

It gave me a lot of confidence as a developer, I wish I had a training like this when I started. It got me much closer to my goal of becoming a senior front-end dev.- Maria Blair

Follow structured learning paths

Dig into curated collections of tutorials and projects about specific topics…

  • Getting started with JS. Get rock-solid foundation to start your JavaScript journey.
  • JavaScript Essentials. Learn the fundamentals of DOM manipulation and injection, working with APIs and asynchronous JavaScript, managing data with arrays and objects, and saving state with browser storage.
  • Structure & Scale. Learn how to structure and organize your code as your projects grow and scale. Dig into concepts like utility libraries, object-oriented programing, JavaScript classes, web components, ES modules, and service workers.
  • Testing JavaScript. Learn how to test your vanilla JavaScript code with automated testing tools.
  • Writing JS Libraries (coming soon). Learn how to write flexible, modular, scalable libraries that grow with you and your users.
  • Web Apps (coming soon). Learn how to build dynamic web apps with JavaScript. Learn advanced topics like state-based UI, routing, data reactivity, serverless, how to create custom APIs, and token-based authentication.

Don’t go it alone! Get exclusive Discord access.

You get 24/7 access to a private Discord community, where you can chat with other students, get feedback on code, and ask questions to help you get unstuck and deepen your understanding.

Having your interaction is priceless. Such added value.- Elliott Porter

Go from beginner to confident coder

  • Learn modern best practices and code patterns.
  • Spend less time Googling and more time working on cool stuff.
  • Get the skills and confidence to really understand JavaScript and more.
  • Follow structured learning paths to grow your skills more quickly.
  • Work on real projects and build your portfolio.
In terms of knowledge gained per effort expended, this course is hands down the best I've ever tried. More than just the content, it is the growing confidence that maybe even I can actually do this. I feel like I am beginning to know what I don't know. That is huge. Well done.- Stewart Davis

Your 100% Money-Back Guarantee

Don’t put off learning how build a simpler, more resilient web! If you’re not 100% satisfied with the Lean Web Club, let me know and I’ll give you a full refund for your last month of access.

Hi, I'm Chris Ferdinandi. 👋

Chris Ferdinandi

I help people learn vanilla JavaScript, and I believe there’s a simpler, more resilient way to make things for the web.

I’ve taught developers at organizations like Salesforce and the Boston Globe, and my JavaScript libraries have been used by organizations like Apple and Harvard Business School. My developer tips newsletter is read by over 14k developers each weekday.

I want to help you master vanilla JavaScript, without all of the painful false starts and roadblocks I encountered when I was learning.

Stuff students have said…

Clarity. Brevity. Unpretentious explanation. Care for best practices. Obvious attentiveness. Available to help "unstuck" students. You actually rock, Chris.- Kabolobari Benakole
Honestly, the projects so far plus seeing your examples have helped me learn so much faster.- Craig Haggart
Your course provided the impetus to knuckle down and challenge myself. You got me writing code (not merely reading about it or watching videos).

Having a caring, well-spoken guide such as yourself made it fun to work through the projects. Having that in a group all tackling the same projects added that dynamic aspect that also got me moving.

Some specific things I liked: The fabulously well-crafted projects/challenges. The clarity of your teaching (videos, in-code comments, etc.). The supportive Slack channels. The feeling that no question is a dumb question -- and the thrill of having a dialogue going permitting sharing tidbits with others.

No tutorial or other tutorial provides that environment.- Ron Amick
After going through this program, I found that using vanilla JS, you can accomplish A LOT more than the larger dev community would lead you to believe.- Zac Heisey
I thank you from the bottom of my heart. If it had not been for you, I would not be able to learn JavaScript.- Patricia Parker
We need more people like Chris, who not only have this mindset that we need to stick to the basics of JavaScript, but are willing to evangelize it.- David Walsh
Can you actually create a website without JS frameworks? Yes! Here's a collection of resources to get started.- Ed Rivas
God, you're amazing... I'm learning so much from you.- Mojtaba Seyedi, Front End Developer
I recommend Chris Ferdinandi to all JavaScript learners :)- Alex Muraro
Shout out to Chris Ferdinandi's blog that keeps coming up whenever I google anything vanilla JS. Nice little tips every day.- Wes Bos

Not ready yet? Get daily developer tips.

Hate the complexity of modern front‑end web development? I send out a short email each weekday on how to build a simpler, more resilient web. Join over 14k others.

If you have any questions about anything, feel free to send me an email at