Analysis updated 2026-06-20
Work through 30 daily mini-projects to strengthen your understanding of vanilla JavaScript and browser APIs.
Use the starter files to practice audio, canvas, local storage, and fetch without any framework.
Reference completed solutions to compare your own approach on each of the 30 challenges.
Follow a structured daily curriculum to teach yourself front-end development from first principles.
| wesbos/javascript30 | foundation/foundation-sites | tencent/weui | |
|---|---|---|---|
| Stars | 29,114 | 29,765 | 27,370 |
| Language | HTML | HTML | HTML |
| Setup difficulty | easy | moderate | easy |
| Complexity | 1/5 | 2/5 | 1/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
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.
A free 30-day challenge to learn vanilla JavaScript by building 30 small browser projects from scratch, one per day, with no frameworks or libraries involved.
Mainly HTML. The stack also includes JavaScript, HTML, CSS.
License not specified in the explanation.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.