The tracker keeps what its user did
Store the tasks after every change and load them once when the page starts, so a reload shows what its user did — including on a first visit, when nothing has been stored yet.
Refuse what does not fit
Refuse a title longer than 60 characters, and a title already in the list, each with its own message — comparing trimmed, lowercase titles with some — and decide and record whether a task already done counts.
A request arrives after the tasks are stored
Give every task a priority, normal or high, switched by a button on the task — and decide, make work and explain what happens to the tasks stored before priority existed.
A tracker someone else wrote
Find and fix three faults in a supplied tracker from its owner’s report, and write a diagnosis record for each: symptom, reproduction, hypotheses with their evidence, cause, fix and verification.
Ship the tracker and explain it
Publish the finished tracker, meet it at its public address as a first visit, and write the design explanation: two decisions with what they rejected, and one limitation of your own work.