โœ… Beginner

Todo App

Add, complete, delete and persist tasks. Covers DOM manipulation and array methods end-to-end.

HTMLCSSJS ArrayslocalStorage
  • DOM creation & event delegation
  • Array methods: map, filter
  • localStorage persistence
Already built in Lesson 28 โ€” Mini Project โ†’
โฑ๏ธ Beginner

Countdown Timer

Pick a target date and show a live days/hours/minutes/seconds countdown.

JS DatessetInterval
  • Date math
  • setInterval / clearInterval
  • Updating the DOM efficiently
Uses concepts from Lesson 6 โ€” Loops โ†’
๐Ÿ” Beginner

Password Generator

Generate strong random passwords with length and character-type options โ€” pairs with the site's own tool.

StringsMath.random
  • String manipulation
  • Math.random()
  • Form inputs & checkboxes
Compare with the built-in tool โ†’
๐Ÿ’ฌ Beginner

Quote Generator

Fetch a random quote from a public API and display it with a 'New Quote' button.

Fetch APIAsync/Await
  • fetch() and Promises
  • async/await
  • Error handling for failed requests
Builds on Lesson 21-23 โ€” Promises, Async/Await, Fetch โ†’
๐ŸŒฆ๏ธ Intermediate

Weather App

Search a city and show live weather using a public weather API.

Fetch APIJSONDOM
  • Working with JSON responses
  • Conditional rendering
  • Handling loading & error states
Builds on Lesson 23 โ€” Fetch API โ†’
๐Ÿงฎ Intermediate

Expense Tracker

Log income/expenses, see a running balance, and persist entries across page reloads.

ArrayslocalStorageObjects
  • Array.reduce for totals
  • Object-based state
  • Form validation
Builds on Lesson 16 & 25 โ€” Array methods, Local Storage โ†’
๐ŸŽฌ Advanced

Movie Search App

Search movies from a public API as the user types, with debounced input.

Fetch APIDebouncingDOM
  • Debouncing user input
  • Rendering dynamic lists
  • Handling race conditions in fetch
Builds on Lesson 27 โ€” Event Loop โ†’
๐Ÿ—‚๏ธ Advanced

Kanban Board

A Trello-style board with draggable cards across 'To Do / In Progress / Done' columns.

Drag & Drop APIlocalStorageModules
  • HTML5 Drag & Drop events
  • Structuring code with ES6 modules
  • Complex state persistence
Builds on Lesson 26 โ€” ES6 Modules โ†’