Sefism is free for learners. We are here to help you grow, one step at a time.Join for free
Sefism.
Video · Web DevelopmentFree

JavaScript30

JavaScript30 is Wes Bos's free video course of 30 small projects built in plain JavaScript, with no frameworks, libraries, compilers or boilerplate. Projects include a drum kit, a clock, a custom video player, speech recognition, a sticky nav and a whack-a-mole game, each with starter files and a finished solution. It suits beginners who want momentum and developers whose JavaScript only works inside a framework.

Sign-ups

About 755,000

javascript30.com FAQ · Sept 2026

Projects

30

javascript30.com · Sept 2026

Starter repo stars

29.3k (wesbos/JavaScript30)

GitHub · Sept 2026

Price

Free (sign-up required)

javascript30.com · Sept 2026

Format

Video

Topic

Web Development

Provider

Wes Bos

Time needed

30 days, about an hour each

Level

Beginner

Access

Free

What you build

The course is 30 self-contained projects, one per day if you follow the suggested pace. They include:

  • DOM and events: a drum kit that plays sounds on key presses, a CSS and JavaScript clock, hold-shift-to-check-multiple checkboxes, key sequence detection, sticky navigation, follow-along links, and event capture, propagation and bubbling.
  • Arrays and data: two "array cardio" sessions, sorting band names without articles, tallying times with reduce, and reference versus copy for objects and arrays.
  • Browser APIs: a type-ahead search with fetch, HTML5 canvas drawing, a custom video player, webcam effects, native speech recognition and speech synthesis, a geolocation speedometer and compass, and LocalStorage with event delegation.
  • UI effects: flex panel galleries, slide-in on scroll, a Stripe-style dropdown, click and drag to scroll, a video speed controller, a countdown timer and a whack-a-mole game.

Every project comes with starter files and a completed version, and the videos are free after you sign up. According to the course FAQ, around 755,000 people have signed up. The starter repository on GitHub had about 29.3k stars and 42.3k forks in September 2026, many of them learners publishing their own solutions.

Why plain JavaScript is the point

Developers who learn through a framework often cannot do simple things without it, because the framework has always handled the DOM, the events and the state. Thirty projects where none of that is available rebuild the underlying skill quickly. It also makes frameworks easier to understand afterwards, because you know what they are doing for you.

How to use it

  • Attempt each project before watching. Read the starter file, try to build it, then watch the video to compare. Watching thirty videos teaches little; building thirty things teaches a lot.
  • One a day is a guide, not a rule. Most projects take about an hour including the video; some take longer if you experiment.
  • Extend each project. Add a feature the video did not cover, such as saving settings in LocalStorage or making it work on mobile.
  • Publish your versions on GitHub Pages. Thirty small live demos show consistency.

Before you start

You should know basic JavaScript syntax: variables, functions, arrays, objects and loops. The course is not a first introduction to programming. Some basic HTML and CSS helps too.

Where it stops

The projects are small and self-contained, so they do not teach how to structure a larger application, manage state across many components, write tests, or use a build tool. The course was recorded some years ago, and a few browser APIs have changed since, so check the comments or MDN if a project behaves differently. Wes Bos's paid courses and other resources cover the next steps.

Common questions

Is it really free? Yes. You need to sign up with an email to access the videos.

Is it good for complete beginners? It is best after a basic JavaScript course, when you know the syntax and want to apply it.

Will it help me get a job? Not on its own, but it builds the DOM and browser API fluency that interviews and real projects assume.

Best for: developers whose JavaScript only works inside a framework, and beginners wanting momentum.

javascriptfrontendfree coursebeginner friendly

Ready to start?

Opens on Wes Bos in a new tab.

Open resource
Link broken or out of date?

Report a problem

With "JavaScript30". Only Tauseef reads this.

Work with me

Stuck on something specific?

Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.