Essential session storage is required to sign in. Optional analytics remain off unless you allow them.
Build a small interactive browser app — a todo list, quiz, or calculator — using only vanilla JavaScript and the DOM (no framework). Hold state in JS, render it to the DOM, and wire up user interaction with event listeners (use event delegation for repeated items). Keep the DOM in sync with your state on every change, and use === and modern syntax (const/let, arrow functions, template literals).
Selects/creates/updates nodes correctly; uses addEventListener and event delegation rather than inline handlers or per-item listeners.
A clear state object/array is the source of truth; the DOM is re-rendered from state, not mutated ad hoc.
const/let used correctly, === over ==, array methods and template literals; no stray globals.
Edge cases handled (empty input, removing the last item); no console errors.
Use this README structure to make the work reviewable.
DevPath fetches a read-only, size-capped snapshot. Submitted code is never executed.
# An interactive app in vanilla JavaScript (no framework) ## Goal Build a small interactive browser app — a todo list, quiz, or calculator — using only vanilla JavaScript and the DOM (no framework). Hold state in JS, render it to the DOM, and wire up user interaction with event listeners (use event delegation for repeated items). Keep the DOM in sync with your state on every change, and use === and modern syntax (const/let, arrow functions, template literals). ## Acceptance criteria - [ ] DOM & events: Selects/creates/updates nodes correctly; uses addEventListener and event delegation rather than inline handlers or per-item listeners. - [ ] State → UI: A clear state object/array is the source of truth; the DOM is re-rendered from state, not mutated ad hoc. - [ ] Modern JS: const/let used correctly, === over ==, array methods and template literals; no stray globals. - [ ] Correctness: Edge cases handled (empty input, removing the last item); no console errors. ## Verification - [ ] Document installation and run commands. - [ ] Record automated checks and their exact commands. - [ ] Add representative output, screenshots, or a short demo where useful. - [ ] Confirm failure paths and known constraints. ## Decision log ### Decision title - Context: - Choice: - Alternatives considered: - Tradeoffs: ## Evidence - Link each rubric criterion to the file, test, or artifact that demonstrates it. ## Known limitations - List what is intentionally out of scope and what should be improved next.