← All projects

Beginner project

Counter

Practice events and predictable state updates with the simplest possible interactive component.

The problem

Before building anything complex, every developer needs total confidence in the smallest possible state-plus-event loop.

User stories

  • As a user, I want to increment, decrement, and reset a counter, so I can see immediate, predictable feedback.

Planning checklist

  • Decide the counter's initial value and step size
  • Decide whether negative values are allowed

Suggested data structure

let count = 0;

UI requirements

  • Increment, decrement, and reset buttons
  • A clear display of the current value

Build milestones

Check off each milestone as you complete it — saved to this device.

…

0%

Testing checklist

  • Incrementing and decrementing update the display correctly
  • Reset always returns to the initial value

Completion criteria

…

0%

Progressive support

RequirementsPlanningStarterHintsReference Solution
Bonus features
  • Add keyboard shortcuts (arrow keys)
  • Animate the count change
  • Persist the count across reloads