Wes Bos

JavaScript30 — 30 Day Vanilla JS Challenge

Thirty vanilla JavaScript builds in thirty days from Wes Bos — no frameworks, no build step, just browser APIs, canvas, media and array methods.

FreeIntermediate10+ hoursEnglishJavaScript
Go to course

Opens on Wes Bos — a direct link to the course.

Course overview

Wes Bos set himself an unusual constraint and then built a course around it: thirty small projects, thirty days, and no frameworks, no compilers, no libraries, no boilerplate. Everything is vanilla JavaScript hitting browser APIs directly. It's free, and has been since it launched.

The projects are deliberately silly and deliberately fast. A drum kit that plays samples on keypress. A CSS-and-JS analogue clock. Array cardio — two full days of nothing but map, filter, reduce and sort on real data. A flex-panel gallery, an Ajax type-ahead, canvas drawing, a custom HTML5 video player, a geolocation speedometer, speech recognition, webcam effects, whack-a-mole. Each has a starter file and a finished solution.

Why the rules matter

Strip away React and you're left holding the DOM. That turns out to be the point. Most developers who learned JavaScript through a framework have never called addEventListener without a wrapper, never touched the Canvas API, never used getUserMedia or SpeechRecognition, and have a fuzzy sense of what the framework is actually doing on their behalf. Thirty days of raw browser APIs fixes that quickly.

The array cardio days in particular do more for everyday code quality than anything else in the set.

Where it falls short

The projects are exercises, not applications. Nothing here has state management, routing, a build step, tests, or more than one file that matters. You will not finish with a portfolio — you'll finish with thirty demos, and every developer who's done JavaScript30 recognises the other demos on sight, so they don't differentiate you.

Some material also shows its age around browser APIs that have shifted since recording, particularly the speech and media ones, which behave differently across browsers and now require secure contexts. Expect to debug a couple of days rather than follow along cleanly.

And it wants your email. Access is free but gated behind a signup, so you're paying in newsletter.

Who it's for — and who should skip it

Perfect for the developer who is comfortable in a framework and quietly unsure what happens underneath. Also good as a habit-builder — thirty short wins in a row is a genuinely effective way to restart a stalled learning streak.

Skip it if you've never written JavaScript; Bos says so himself and points beginners at his separate beginner course. Skip it too if you're looking for portfolio pieces, because these aren't.

Our take

The best free way to get fluent with the browser platform, and one of the few courses where the constraint is the curriculum. Just be honest with yourself about the goal: this makes you better at JavaScript, it does not make you employable on its own, and a few of the media-API days will need fixing before they run.

At a glance

Price
Free
Level
Intermediate
Time to complete
10+ hours
Language
English
Certificate
Not offered
Taught by
Wes Bos
Category
JavaScript
Last checked
26 Aug 2026

Topics covered

  • javascript
  • projects
  • challenge