Build 30 small working projects to practice vanilla JavaScript without frameworks.
Learn browser APIs like audio, canvas, local storage, and keyboard events through hands-on exercises.
Strengthen core JavaScript fundamentals by seeing how the language works in real browser contexts.
Create a portfolio of completed projects while following a structured 30-day learning path.
JavaScript30 is a free 30-day coding challenge and course that teaches plain JavaScript by building 30 small browser-based projects from scratch, one per day. The problem it addresses is that most JavaScript learners rely heavily on frameworks and libraries from the start, and end up with gaps in their understanding of what the language itself can do. Each exercise uses only vanilla JavaScript, meaning no external libraries are involved. The repository contains starter files for each of the 30 projects as well as completed reference solutions. The actual video lessons that walk through building each project are hosted externally at javascript30.com. The README is largely a community list of people who have shared their own recaps, notes, guides, and alternative implementations of the challenges, showing a broad base of learners working through the same material. Projects cover a range of browser fundamentals, working with audio, the keyboard, CSS transitions, local storage, canvas drawing, fetching data, and other browser APIs. The files are plain HTML, and each exercise is self-contained. You would use this if you know the basics of JavaScript and want to strengthen your understanding of what browsers can do without any framework involved, or if you are teaching yourself front-end development and want structured daily practice with real, working mini-projects. The entire course is free.
Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.