todo-list is a deliberately small, single-owner personal task list. Its product intent is captured in one sentence from the requester: create simple todo list. The application lets one person write down tasks, see them in a list, tick them off when done, and scrap the ones they no longer need — nothing more.
The audience is a single everyday user keeping a lightweight personal list of outstanding items and seeing at a glance what is finished. The product is intentionally not a dashboard, not a team tool, and not a project-management system. Simplicity is an explicit hard constraint: every requirement below exists to serve the four core actions (add, view, complete, delete) plus the persistence that makes them meaningful across visits.
todo-list is delivered as a small custom web application with three provisioned services:
The only active human actor is the Todo List Owner. There are no other human personas, no teams, no sharing, and no differentiated permissions. Both pages are reachable without any sign-in: the Landing page is an anonymous public entry surface, and the Todo List page is the single cohesive workspace where the owner adds, views, completes, and deletes items.
Accepted current behavior: add todo items, view todo items in a list, mark items complete, delete items, and persist items across visits on the same device.
Removed from scope
The product is a first-party custom UI backed by a first-party API and database. There is no provider-owned surface, no external destination, and no headless delivery. Access is anonymous on both pages — the Planning Scope contract sets access_requirement: none for Landing and Todo List, and the source never asks for accounts, sign-in, or per-user separation. Persistence is therefore scoped to the device/browser context in which the list is used, matching the accepted requirement that items persist across visits on the same device.
Current horizon: the two pages and the five accepted behaviors above. No future-horizon requirements were stated by the user; nothing beyond the simple list is planned in this document.
TODO wordmark, the tagline line ONE LIST. NO CEREMONY., a short plain-language description of what the list does (add, tick off, scrap), and a tilted sample paper panel showing three ruled rows with one ticked.OPEN THE LIST) that navigates to the Todo List page.SCRAP stamp.SCRAP stamp), index rail with stamped OPEN / DONE numerals, empty-state block with crossed-pencil pictogram.FR-1 — Add a todo item (explicit) As a Todo List Owner, I should be able to add a todo item to my list, so that I can record something I need to do.
FR-2 — View todo items in a list (explicit) As a Todo List Owner, I should be able to view my todo items in a list, so that I can see everything outstanding and what is done.
FR-3 — Mark a todo item complete (explicit) As a Todo List Owner, I should be able to mark a todo item as complete, so that I can see at a glance what is done.
FR-4 — Delete a todo item (explicit) As a Todo List Owner, I should be able to delete a todo item, so that I can remove things I no longer need.
SCRAP stamp on a row.FR-5 — Persist todo items across visits on the same device (required_inference) As a Todo List Owner, I should find my todo items still present when I return to the list on the same device, so that my list is useful beyond a single page view.
FR-6 — Reach the list from the Landing page (required_inference) As a Todo List Owner, I should be able to go from the Landing page to my list in one step, so that I can start working immediately.
TODO wordmark, the ONE LIST. NO CEREMONY. line, and the short description of what the list does.SCRAP stamp on a row.The creative direction is authoritative: Plain-talk task-keeping after Aaron Draplin — kraft, ink and one honest orange.
Palette (light mode)
| Role | Hex | Use |
|---|---|---|
| Background (kraft ground) | #E8DECB | Full page ground |
| Surface (paper panel) | #F4EDE0 | List panel, tilted hero panel |
| Text (ink) | #1C1A17 | Type, 2px borders, checkmark stroke |
| Primary (ink) | #1C1A17 | Primary controls and type |
| Accent (Draplin orange) | #E4572E | Add button, active-count badge, completed strike ink, hero rule |
| Muted (kraft-grey) | #8A7F6D | Secondary metadata and empty states only |
| Mustard | #D9A227 | Tiny stamp/tag details only — never text on kraft |
| Denim | #2F4858 | Tiny stamp/tag details only — never text on kraft |
Typography
0.9, slightly negative tracking; oversized hero wordmark; section heads at 28–36px.0.14em letter-spacing for field names, counts, and stamps.clamp(56px, 12vw, 148px).Shape language
Layout
Imagery
DONE stamp, halftone dot texture at 6% opacity on the kraft ground, and a small crossed-pencil pictogram in the empty state — all drawn at the same 2.5px stroke weight.Readability constraint: headlines, wordmarks, labels, numbers, and controls stay entirely inside the viewport and their container at 375px, 768px, and 1280px, wrapping or scaling to fit; decoration may bleed, rotate, or overlap, but never covers readable text or a control.
The public entry is a full-bleed kraft page with no card and no centred hero. The left two-thirds carries the wordmark TODO in Alfa Slab One at clamp(56px, 12vw, 148px), stacked on two lines, with a thick 8px orange rule running from the baseline out past the right edge of the viewport. Beneath it sits a single all-caps Oswald line: ONE LIST. NO CEREMONY. The right third holds a tilted paper panel (rotate -2deg) showing three sample ruled rows with one ticked in orange, bleeding off the bottom edge. A small circular orange seal with the open count sits at the seam between the two halves. The entry control is a hard-edged ink block with an all-caps Oswald label, placed in the left column under the tagline — never in the centre. Halftone dots at 6% opacity sit over the kraft ground. No gradient, no centred headline-plus-button composition.
Interaction Model: Animated Motion Tempo: restrained Hero Dimensionality: flat
Landing Hero Motion Brief
TODO wordmark and the 8px orange rule that runs off the right viewport edge, with the tilted sample paper panel at the seam.-2deg position; the circular count seal presses in last. The outcome is a composed, sturdy first frame that reads as a working notebook cover, not an animated showreel.TODO wordmark left-aligned on two lines, orange rule beneath, tagline line, tilted paper panel on the right with three ruled rows and one orange tick, circular seal at the seam, entry control in the left column.prefers-reduced-motion, every element appears instantly in its final composed position — rule fully drawn, panel at -2deg, seal in place — with no transitions.SCRAP stamp are operable by keyboard and expose accessible names; the orange tick is not the sole indicator of completion (the strike treatment and the done count also convey it).prefers-reduced-motion, all motion becomes instant state change.frontend service).backend service) exposing the todo-item API; new domain routes are added to this existing process rather than a new service.database service) storing todo items.#E8DECB page background carrying the halftone dot texture.No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No comments yet. Be the first!