Programming with Mosh
FreeReact Native Tutorial for Beginners
Mosh Hamedani's polished two-hour React Native intro: components, Flexbox layout and debugging. Ends before navigation, data or state…
Wes Bos
Thirty vanilla JavaScript builds in thirty days from Wes Bos — no frameworks, no build step, just browser APIs, canvas, media and array methods.
Opens on Wes Bos — a direct link, no affiliate tracking.
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.
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.
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.
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.
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.
Other courses covering the same subjects.
Programming with Mosh
FreeMosh Hamedani's polished two-hour React Native intro: components, Flexbox layout and debugging. Ends before navigation, data or state…
Meta Open Source
FreeReact's official Quick Start — components, JSX, state, hooks and lifting state up, with editable sandboxes. Concepts only, no project to…
freeCodeCamp
FreefreeCodeCamp's five-library certification — Bootstrap, jQuery, Sass, React and Redux — earned by shipping five tested projects. Two sections…
Scrimba
FreeBob Ziroll's interactive React course — around 11 hours, 170+ coding challenges and six projects, edited live inside Scrimba's in-browser…
Meta Open Source
FreeReact's official tutorial: build tic-tac-toe with move history and learn lifting state up, immutability and keys in one sitting. No setup…
freeCodeCamp
FreefreeCodeCamp's rebuilt JavaScript certification - 1,320 test-driven steps across theory, workshops and labs, covering the DOM,…
Took this course? Share what you thought.