Gitpedia

JavaScript30

Participating in JavaScript30 course created by @wesbos

From nitishdayal·Updated March 21, 2026·View on GitHub·

Nitish Dayal, Software & Applications Developer Last Commit Date: May 12, 2017 The project is written primarily in HTML, first published in 2016. Key topics include: es2015, es2016, es6, exercise, javascript.

JavaScript30 - 30 Day JavaScript Challenge

Nitish Dayal, Software & Applications Developer
Last Commit Date: May 12, 2017

Course created by Wes Bos
Join the challenge (for free!) here - JavaScript30

This repository contains my written guides for the JavaScript30 course by
Wes Bos. I wrote these in the hopes of expanding the ways
in which people can access this course; not everyone has the data allotments
or internet speeds or...whatever the case may be to load multiple high definition
videos. Or, maybe, you prefer to have a text-based guide to follow along with/
refer back to. Orrr you're in a library and don't have headphones. Who knows! If
you want some documentation to go along with those sweet Wes Bos vids, here you go.

DISCLAIMER: My approach to some of the challenges will vary from the provided answers (found in
the files that end with -FINISHED on the main repo). Some of the tweaks are just to
include various 'best practices' and some have huge chunks of differences. I try to provide
thorough explanations when I do stray from the path and explain why I chose to do so, but
I want to make it clear that some of these guides don't go hand-in-hand with the videos.

About

Build 30 things in 30 days with vanilla JavaScript; no frameworks, libraries, etc.
Pacing is totally up to the individual; if you feel like knocking out 30 challenges
in 30 minutes, hey, more power to you, but that would miss the point of this course (IMO).
The idea behind these exercises is to utilize small amounts of what would regularly be
'downtime' as moments in which we can build on our knowledge through some simple
exercises.

I think it's fair to say that, coming into this course, you should have a decent grasp
of JavaScript fundamentals. Comfort when working with functions, callbacks, arrays,
and objects will help a great deal in working through the challenges. If you don't,
don't worry and do it anyways <3. It might take you more than downtime to complete
a challenge, but given that these exercises require you to work with those very topics
time and time again, JavaScript30 is still an excellent learning resource.

The starter files (available here) include solutions to
most challenges, so this isn't really meant to be taken as some kind of competition.
JavaScript30 is focused more on helping developers enhance their current skillset and
reducing developer reliance on external JS libraries; if it can be done with a JS library,
it can (probably) be done with vanilla JS.

Table Of Contents

  1. JavaScript Drum Kit
  2. JS + CSS Clock
  3. CSS Variables
  4. Array Cardio, Day 1
  5. Flex Panel Gallery
  6. Type Ahead
  7. Array Cardio, Day 2
  8. Fun with HTML5 Canvas
  9. Dev Tools Domination
  10. Hold Shift and Check Checkboxes
  11. Custom Video Player
  12. Key Sequence Detection
  13. Slide in on Scroll
  14. JavaScript References vs. Copying
  15. LocalStorage
  16. Mouse Move Shadow
  17. Sort Without Articles
  18. Adding Up Times with Reduce
  19. Webcam Fun
  20. Speech Detection
  21. Geolocation
  22. Follow Along Link Highlighter
  23. Speech Synthesis
  24. Sticky Nav
  25. Event Capture, Propagation, Bubbling, and Once
  26. Stripe Follow Along Nav
  27. Click and Drag
  28. Video Speed Controller
  29. Countdown Timer
  30. Whack A Mole

Contributors

Showing top 2 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from nitishdayal/JavaScript30 via the GitHub API.Last fetched: 5/30/2026