Build six small apps with plain JavaScript and the DOM

Practise real front end skills without a framework: a timer, notes app, image gallery, quiz, weather card and kanban board

7 ratings 2,060 students Sample

Created by Sofia Marquez

  • Updated September 2026
  • English
  • Beginner

What you will learn

  • Plan a small app by deciding its state before writing code
  • Render pages from data and keep the DOM in sync with state
  • Handle forms, clicks and keyboard input with event listeners and delegation
  • Persist data with localStorage and load data with fetch
  • Build accessible dialogs and drag and drop with keyboard alternatives
  • Structure small projects into ES modules

Course content

6 sections, 25 lessons, 4h 10m total

Getting started and the first two projects 5 lessons · 52 min
  • Video: How every project in this course works Preview 8 min
  • Article: Project 1: a focus timer, part one Preview 13 min
  • Article: Project 1: a focus timer, part two 12 min
  • Article: Project 2: a notes app with localStorage 14 min
  • Quiz: Check your understanding 5 min
Project 2 continued and project 3: image gallery 4 lessons · 44 min
  • Video: Editing notes in place 11 min
  • Article: Search and sort for notes 9 min
  • Video: Building the gallery grid 11 min
  • Video: A lightbox with the dialog element 13 min
Project 4: a quiz 4 lessons · 41 min
  • Video: Loading questions with fetch 10 min
  • Video: One question at a time 12 min
  • Video: Results and review screen 10 min
  • Article: Splitting code into modules 9 min
Project 5: a weather card 4 lessons · 40 min
  • Video: Choosing and calling a weather API 10 min
  • Video: Geolocation with a fallback 10 min
  • Video: Loading, error and stale states 11 min
  • Article: Formatting dates, numbers and units 9 min
Project 6: a kanban board 4 lessons · 44 min
  • Video: Board state and rendering columns 11 min
  • Video: Drag and drop with the HTML API 14 min
  • Video: A keyboard alternative for moving cards 10 min
  • Video: Saving the board and exporting JSON 9 min
Wrapping up 4 lessons · 29 min
  • Article: Comparing the six projects 8 min
  • Video: Publishing your projects 9 min
  • Article: From here to a framework 7 min
  • Quiz: Final check 5 min

Requirements

  • JavaScript basics: variables, functions, arrays, objects and loops
  • Basic HTML and CSS

Description

Reading about JavaScript only gets you so far. You learn front end development by building things, getting stuck and finding your way out. This course is a set of six small, complete projects built with plain HTML, CSS and JavaScript. No framework, no build step, just the browser.

Each project focuses on a different skill, so by the end you have used the most important browser APIs in a real context:

  1. Focus timer: timers, state and updating the page
  2. Notes app: forms, lists, editing and localStorage
  3. Image gallery: event delegation, keyboard navigation and a dialog
  4. Quiz: loading JSON, rendering from state and scoring
  5. Weather card: fetch, loading and error states, and geolocation
  6. Kanban board: drag and drop with a keyboard alternative

How the projects are built

Every project starts from a short brief and a plain HTML page. We plan the state first, write a render function, then wire up events. This structure repeats in every project, so by the third one you will find yourself planning before writing code. We also make each project accessible: real buttons, labels, focus management and support for keyboard users.

Who it is for

You know the basics of JavaScript, such as variables, functions, arrays and objects, but you have not built many things on your own. If you have completed an introductory course and want practice before learning a framework, this course is for you.

Who this course is for

  • Beginners who finished an intro course and need practice
  • Learners preparing a portfolio of small projects
  • Developers who want to understand what frameworks do for them

Instructor

Sofia Marquez

Front end developer teaching CSS, accessibility and plain JavaScript that works for everyone

  • 4.5 instructor rating
  • 22 reviews
  • 8,510 students
  • 3 courses
  • Sample

I am a front end developer who cares about the parts of the web that users touch directly: layout, typography, keyboard support and screen reader behaviour. I build design systems and marketing sites, and I audit interfaces for accessibility problems.

My teaching style is practical. We open the browser dev tools, break things on purpose and fix them. I prefer the platform first: semantic HTML, modern CSS and small amounts of JavaScript, before reaching for a library.

I also run small workshops for designers who want to understand what is easy and what is hard to build.

View profile

Student reviews

4.4 7 ratings
5 star 57%
4 star 29%
3 star 14%
2 star 0%
1 star 0%
Hana S. Sep 23, 2026
Sample

Exactly the practice I needed

I knew the syntax but froze when building alone. The plan, state, render, events routine fixed that.

Julia K. Sep 13, 2026
Sample

Portfolio ready projects

I published all six and used them in my first junior job applications.

Victor M. Aug 28, 2026
Sample

Accessibility built in from the start

Every project included keyboard support and focus handling. I did not realise how much I was missing before.

Olivia K. Jul 23, 2026
Sample

Fun projects, good variety

The kanban board was my favourite. The weather card lesson on stale states was useful too.

Tariq J. Jun 21, 2026
Sample

Made React easy to learn after

The last lesson showing the same notes app in React made frameworks feel much less magical.

Nora F. May 16, 2026
Sample

Great value for the price

Six real projects for a small price. A couple of lessons could include more styling tips.

Bruno A. Mar 25, 2026
Sample

A little repetitive

The pattern repeats in every project, which is the point, but by project five I wanted more new concepts.

$19.99 Enroll now
SampleSample catalog: the instructors, courses, reviews and stats on this site are demo content.