winter-single is a small, self-contained calculator delivered as a single web page. The product intent, taken directly from the user's request, is to build a simple single page design of a calculator: one page that presents the calculator interface itself as the whole product surface. There is no marketing site, no navigation, no account system, and no secondary screens — the calculator is the product.
The audience is a single anonymous visitor who wants quick, everyday arithmetic from a calm, legible surface. The emotional register is not "productivity tool" but "a good desk object": unhurried, trustworthy, warm, and a little hand-made. Success is a correct result obtained from a simple, self-contained page.
winter-single is a client-side single-page calculator. A visitor opens the page and immediately sees the calculator: an editorial title block ("winter single" wordmark with a hand-drawn rust underline and the caption "a small calculator, quietly made"), a paper card holding a large right-aligned numeric display, and a 4×5 keypad. The visitor enters numbers and operators, reads the displayed result, and clears or corrects input to begin a new calculation.
Actors
Accepted behavior
Narrow exclusions
The entire product is one anonymously reachable page. There is no protected state, no durable actor-specific data, and no commitment or value transfer that must remain bound to a participant, so no application-owned identity is established and no sign-in, invitation, or provisioning flow exists. The calculator runs entirely in the browser; the Calculator Engine is a client-side system process supporting the human interaction, not a separate destination.
Everything described in this document is current. No future-horizon features are accepted; anything beyond basic arithmetic on a single page is explicitly out of scope for this generation.
Not applicable — no reference directive declares a content_source.
The page contract is exact: one page, named Calculator, with access requirement none (anonymous public entry).
The single page and the whole product surface. It is the anonymous public entry and owns the calculator interface, expression entry, result display, and clearing for a new calculation.
Information and state
12 × 4 = 48) shown as a ruled footer footnote.0.Primary actions
0–9 to append digits to the current entry.+, −, ×, ÷ to select an operation.. to begin a fractional entry.= to evaluate the expression and show the result.C (or AC) to reset the entry and start a new calculation.Supporting actions
Domain entities
Component responsibilities
clamp(56px, 13vw, 128px), with the muted "current expression" micro-label above.#F4EDE1 with a subtle SVG-noise paper-grain texture at 4% opacity.States
0; footer footnote empty or hidden until a first expression completes.FR-1 — Single-page calculator surface (explicit) As a Calculator User, I should open one page that presents the calculator interface itself as the whole product surface, so that I can do arithmetic without navigating anywhere.
FR-2 — Enter digits and operators (explicit) As a Calculator User, I should press digit and operator keys to build an arithmetic expression, so that I can compute a result.
0–9, operator keys +, −, ×, ÷, and the decimal key ..FR-3 — Evaluate and display the result (explicit) As a Calculator User, I should press the equals key to evaluate my expression and see the result, so that I get the answer I came for.
12 × 4 = 48) is echoed in the ruled footer footnote.FR-4 — Clear and start a new calculation (explicit) As a Calculator User, I should clear the current entry to start a new calculation, so that I can correct mistakes or begin again.
0 and the current entry is discarded.FR-5 — Editorial footnote of the last expression (explicit, from creative direction) As a Calculator User, I should see the last full expression echoed as a ruled footer footnote, so that I can confirm what I just computed.
12 × 4 = 48).Product context. An anonymous visitor who lands on winter-single to do a quick piece of everyday arithmetic — a sum, a split bill, a rough product. They did not come to manage anything; they came for one correct number from a calm surface.
Primary goal. Get a correct arithmetic result quickly and legibly, then leave or start another calculation.
Distinct accepted responsibilities.
Relevant inputs and decisions. Which digits and operators to press; when to press equals; whether to continue from a result or clear and start over.
Interactions with other participants. The Calculator User is the only human participant. They interact with the Calculator Engine (system process), which evaluates expressions and returns results; the engine has no independent UI and no persona.
Observable success. A correct result appears in the display, the completed expression is echoed in the footer, and the page remains a single, simple, self-contained surface throughout.
0.12 × 4 = 48) appears in the ruled footer footnote.0 and the current entry is discarded.12 × 4 = 48).Muse and headline. Warm editorial arithmetic after Frank Chimero — "a good desk object, quietly made." The page should feel composed like a book title page, not templated like an app.
Mode. Light mode only.
Color tokens (exact hex by role)
#F4EDE1#FBF7EF#221E1A#B4552E#D99A2B#7A6E5FNo pure white, no pure black, no blue or indigo anywhere.
Typography
clamp(56px, 13vw, 128px).clamp(28px, 5vw, 44px); body 17px; keypad labels 22px (Literata for numerals, Work Sans 500 for operators and words); micro-labels 13px uppercase with 0.12em tracking.Shape language. Softly squared, hand-cut paper: keys are 10px-radius rectangles with a 1px ink hairline and a 2px hard offset "pressed" shadow (no blur). Section dividers are single ruled lines, never boxes. The only curves are the hand-drawn rust underline stroke and the small illustrated sun/compass spot art.
Layout. Single centred column on a 12-column grid with a wide outer margin. Wordmark and one-line caption at top left; then a paper card holding the display strip above a 4×5 keypad of equal cells with 8px gutters. Below the card, a short ruled "how it works" line in small caps and three hand-drawn spot illustrations (plus, minus, times) as a quiet footer. Max width 520px for the card, 720px for page text; at 375px the card bleeds 16px to each edge and keypad gaps tighten to 6px.
Imagery. Warm flat spot illustration only: a small hand-drawn sun, a compass rose, and arithmetic marks in rust and mustard, plus a subtle paper-grain texture (SVG noise at 4% opacity) on the cream ground. No photography, no 3D, no glass, no stock icons.
Accessibility of text and controls. Headlines, wordmarks, labels, numbers, and controls stay entirely inside the viewport and their container at 375px, 768px, and 1280px, wrapping or scaling via clamp(...) to fit; no element covers any readable text or control.
The public entry is composed as an editorial title page for a desk object. At left, the wordmark "winter single" is set in Literata with a single hand-drawn rust underline stroke (an inline SVG path that doubles as the page's only decorative curve), and beneath it a small-caps line reads "a small calculator, quietly made." To its right on desktop (stacked above on mobile) sits the calculator itself as the dominant object: a cream paper card, 520px wide, with a full-width ink-ruled display strip showing 0 in 128px Literata numerals, and below it the 4×5 keypad where the rust equals key is the single saturated element on the page. The whole composition sits in generous cream margin with a thin rule across the top — closer to a book title page than an app. The signature moves are the 128px right-aligned numeral display with its tiny uppercase "current expression" label, the letterpress keys whose hard offset shadow collapses on press, the rust equals key as the only filled cell with the operator column in rust outline, and the ruled footer footnote echoing the last full expression like a margin note.
Interaction Model: Animated Motion Tempo: restrained Hero Dimensionality: flat
Landing Hero Motion Brief
0 in 128px Literata numerals and the rust equals key as the only saturated element.prefers-reduced-motion, the load fade-up and result cross-fade are removed (content appears immediately and results swap instantly); key press feedback reduces to a static pressed tint with no transition. The layout remains fully usable and every control and label stays whole.clamp(...) and wrapping as needed; no element covers any readable text or control.prefers-reduced-motion.0–9, the four operators, decimal, equals, and clear.0; correction is achieved by clearing and re-entering, since no backspace key is specified.
a small calculator, quietly made
2 expressions recorded.

a small calculator, quietly made
2 expressions recorded.
No comments yet. Be the first!