Learn by building. Explore a curated set of real-world mini-projects and patterns crafted to sharpen your fundamentals and modern JS skills — from DOM to async, canvas, and more.
Join developers learning by building. Fork, star, contribute.
// Classic: FizzBuzz
const fizzbuzz = (n = 100) => {
return Array.from({ length: n }, (_, i) => {
const k = i + 1
return k % 15 === 0 ? 'FizzBuzz'
: k % 3 === 0 ? 'Fizz'
: k % 5 === 0 ? 'Buzz'
: k
})
}
// Debounce helper
const debounce = (fn, delay = 200) => {
let t
return (...args) => {
clearTimeout(t)
t = setTimeout(() => fn(...args), delay)
}
}
// DOM example
const el = document.querySelector('#output')
fizzbuzz(30).forEach(v => {
const li = document.createElement('li')
li.textContent = v
el.appendChild(li)
})
Small, focused builds that mirror real-world problems and patterns.
DOM, async, algorithms, canvas, storage, patterns, and more.
Pure JavaScript with minimal setup so you focus on learning.
Contribute new ideas, fixes, and examples. MIT licensed.
Pick a track and start shipping tiny, meaningful projects.
Todo, modal, drag & drop, keyboard, form helpers.
Search, sort, recursion, data structures in JS.
Fetch, debounce, throttle, caching, error handling.
Draw, animate, particles, image manipulation.
LocalStorage, IndexedDB, URL state, workers.
Scripting, file system tasks, simple servers.
A taste of what you’ll build inside the repo.
Fetch current conditions with graceful loading and retry.
Columns, cards, keyboard support, persistence.
Adjust brightness, contrast, saturation with sliders.
Autosave, search, tags, offline-friendly.
Compare bubble, quick, and merge sorts with steps.
Args, prompts, progress, filesystem tasks.
Clone, pick a project, and follow the README instructions.
Fork or clone the repository locally.
git clone https://github.com/pradipchaudhary/100plusjs
cd 100plusjs
Open a folder and read its README for steps.
cd projects/01-fizzbuzz
open README.md
Implement, iterate, and compare with the reference.
node index.js
# or open index.html
Star the repo to stay updated and contribute your own challenges.
Beginners and intermediates who want to strengthen core JS by building many small, focused projects.
A browser and a code editor. Some projects can be run directly by opening an HTML file; others may require Node installed.
Yes! Open an issue or PR with a new project, improvement, or fix. Please follow the contribution guidelines in the repo.
MIT — free to use, modify, and share.