Tracks
INTERACTIVE PRACTICE
Write real code and see instantly what works. When you get stuck, hints are one click away — not a wall of theory, just practice that actually sticks.
Fix the loop that always reports the last number
The single most-asked JavaScript closure bug: every button in a var loop reports the same value.
Build a star rating widget
A staple take-home warm-up: five stars, click one, the score updates.
Toggle an accordion panel open and closed
Clicking the same trigger twice must close it again — the part candidates most often miss.
Validate a required field on submit
Clicking submit on an empty required field should show a real error, not fail silently.
Toggle a FAQ answer
Wire up a button so clicking it flips a status between open and closed.
Fix the button that does nothing
The click handler is wired to a selector that doesn't match anything on the page.
Handle a list with one listener (event delegation)
A classic screening task: attach a single listener to the parent instead of one per item.
Build a tab switcher
Three buttons, one status line — clicking a tab should update which one is shown as active.
Keep a running cart total
A small state-management task: two products, one total that has to stay correct.