jolly-start is a simple todo application with a single, consistent design. Its purpose is narrow and deliberate: one person keeps a personal list of things to do, sees that list in one place, marks items complete, and deletes items no longer needed. The product's success is a clear, uncluttered view of what remains to be done — nothing more.
The audience is a single self-starting individual (the Todo user) who wants to record and complete tasks without ceremony. There is no team collaboration, no project hierarchy, no scheduling engine, and no dashboard. The interface is the list.
This document is the System Requirements Document for jolly-start, derived from the requester's instruction to "start a project to build a simple single design of todo."
jolly-start is delivered as a first-party web application with application-owned identity and durable, per-user todo state.
Current delivery shape
Actors
Accepted behavior
Narrow exclusions
Removed from scope
jolly-start is a first-party application, not a headless or provider-owned service. The user reaches it through the browser, establishes their own identity inside the product, and works entirely within the product's own pages.
Access ownership
Current vs. future boundary
Everything described in this document is current. No future-horizon requirements were stated by the user. The single-design constraint applies to the whole product: one visual and interaction language across all four pages, with the todo list as the central object.
FR-1 — Self-service enrollment (required_inference) As a Todo user, I should be able to create my own identity so that I can keep a personal todo list.
FR-2 — Returning verification (required_inference) As a Todo user, I should be able to verify my identity on return so that I can reach my durable todo list.
FR-3 — Add a todo item (explicit) As a Todo user, I should be able to add todo items to my list.
FR-4 — View the todo list (explicit) As a Todo user, I should be able to view my todo items in one list.
FR-5 — Mark a todo item complete (explicit) As a Todo user, I should be able to mark todo items as complete.
FR-6 — Delete a todo item (explicit) As a Todo user, I should be able to delete todo items.
FR-7 — Single design consistency (explicit) As a Todo user, I should experience one consistent visual and interaction design across the product.
Product context. A single self-starting individual who wants to keep a personal list of things to do. They arrive at jolly-start without an invitation or a provisioned account and expect to begin immediately. Their relationship with the product is private and personal: the list is theirs alone.
Primary goal. A clear, uncluttered view of what remains to be done.
Distinct accepted responsibilities.
Relevant inputs and decisions. The text of each todo; whether an item is done; whether an item should be removed; their own credentials at enrollment and return.
Interactions with other accepted participants. The Todo user is the only human participant. Their work is mediated by the application backend, which persists their items and enforces that Todos is reachable only when authenticated. There is no counterparty, approver, or collaborator.
Observable success. The user opens the app, sees exactly their remaining items, checks one off with a satisfying tactile tick, and removes what no longer matters — with no ceremony and no clutter.
What makes this role distinct. The role is defined by private, durable, single-owner state: the list belongs to exactly one person and must survive across sessions. That is why identity establishment and returning verification are part of the role's work rather than an afterthought.
Failure/recovery: If enrollment fails because the identity already exists, the user follows the link to Login instead. If a field is malformed, inline errors appear and the entered values are retained.
Failure/recovery: Incorrect credentials show "credentials not recognized"; the identifier is retained so the user can retry. If the user has no identity, the link to Sign Up starts Flow A.
Failure/recovery: If the update fails, the checkbox reverts to its prior state and a non-blocking banner offers retry.
Failure/recovery: If the delete fails, the item is restored in place and a retry banner appears.
Failure/recovery: If the fetch fails, an error banner with retry appears; the user can retry without losing their place.
The creative direction is authoritative for this section. The muse is Naoto Fukasawa; the headline is "One list. Nothing else."
Color tokens (light mode)
| Role | Hex | Use |
|---|---|---|
| Background | #F7F5F1 | Warm paper-white ground |
| Surface | #FFFFFF | Pure-white cards |
| Text | #2B2B2B | Body and headings (ink) |
| Primary | #6B7A6B | Completed states, subtle controls (muted sage-green) |
| Accent | #C46A3A | The single action: add button, active filter (soft terracotta) |
| Muted | #A8A39B | Secondary labels, placeholders, dividers |
No gradients. No blue or indigo anywhere.
Typography
clamp(2.5rem, 6vw, 4.5rem); body base 1rem; labels 0.8125rem.Shape language
0 1px 2px rgba(0,0,0,0.04).Layout rhythm
Imagery
#A8A39B.Readability guarantee
clamp(...) as needed. No element covers any part of them.The list as an everyday object.
The public entry is not a marketing hero. It is a composed, asymmetric first frame on warm paper ground (#F7F5F1):
clamp(2.5rem, 6vw, 4.5rem), left-aligned, with generous breathing room above and below.#C46A3A, 999px radius), and a quiet muted text link to Login.The composition is deliberately empty. No gradient, no illustration, no centered stack, no grid of cards. The card preview is the product itself, shown at rest — the same object the user will meet on Todos. The gesture is carried entirely by type, whitespace, and one small card, so nothing readable is ever cropped or covered.
Interaction Model: Static (direction) Motion Tempo: still Hero Dimensionality: flat
Landing Hero Motion Brief
The same motion vocabulary governs Todos: the checkbox tick (scale 1→0.92→1, 120ms), the new-item fade (180ms), and the delete slide-out (160ms) with a brief 1px terracotta baseline rule. These are the only animations in the product.
prefers-reduced-motion, all transitions collapse to instant state changes while the layout remains fully usable.frontend, backend, database. No additional services are required for the current product.
jolly-start
A personal todo list for the things you mean to do. Write it down, tick it off, keep it in one place.

jolly-start
A personal todo list for the things you mean to do. Write it down, tick it off, keep it in one place.
No comments yet. Be the first!