gentle-calculator is a single-purpose everyday utility: a calculator delivered as one simple page. The product intent is to let a person open the page, enter numbers and operators, and read the computed result — nothing more. The design brief is "gentle": soft proportions, calm tactile feedback, and an interface that disappears into the task rather than performing a brand.
The audience is anyone who needs to add, subtract, multiply, or divide on one page — students, shoppers, freelancers, parents at the kitchen table. The tool is anonymous, public, and requires no account.
gentle-calculator is a single-page, anonymous web utility. It has exactly one page, Calculator, which is also the public entry surface. A visitor lands directly on the calculator, performs arithmetic using the on-screen keypad, and reads the result in the display band. There is no navigation, no marketing section, no account, and no persistence of calculations.
Actors
Accepted behavior
Exclusions (narrow, source-backed)
The entire product is one first-party page owned by the application, reachable anonymously with no access requirement. All arithmetic is performed in the browser; there is no server-side calculation, storage, or user data. The current delivery horizon contains only the single Calculator page and its basic arithmetic behavior. Nothing in the source requests future capabilities; any extension (history, scientific functions, persistence) is explicitly out of current scope and is not planned here.
Not applicable — no reference directive declares a content_source.
The sole page and public entry. A single centred column on a warm paper-white ground containing one calculator card (max-width 420px), with one quiet line of helper text below it.
Information and state
Primary actions
Supporting actions
Domain entities
Component responsibilities
States
0; no expression entered.FR-1 — Single-page calculator design (explicit) As a Calculator User, I should see a simple calculator design contained entirely on a single page, so that I can perform calculations without navigating anywhere.
FR-2 — Calculator interface for basic calculations (explicit) As a Calculator User, I should use a calculator interface to perform basic calculations, so that I obtain the correct arithmetic result.
FR-3 — Simple design constraint (explicit) As a Calculator User, I should experience a simple, uncluttered interface, so that the tool disappears into the task.
FR-4 — Tactile key feedback (required_inference) As a Calculator User, I should receive immediate visual feedback when I press a key, so that I know my input registered.
prefers-reduced-motion, the full static arrangement is shown with no motion.Product context. A person at a kitchen table, a desk, or on a phone who needs a quick arithmetic answer. They arrive with a specific sum in mind and want it resolved in seconds. They are not looking for a tool to learn, configure, or return to later.
Primary goal. Complete one calculation — add, subtract, multiply, or divide — on a single page and read the result, without navigating elsewhere or creating an account.
Distinct accepted responsibilities.
Relevant inputs and decisions. Which numbers to enter, which operator applies, and when to evaluate versus clear. The user decides when a calculation is complete and whether to continue from the result or start fresh.
Interactions with other participants. None — the Calculator User is the only human participant. The calculator's client-side arithmetic engine computes results in response to the user's input; there is no handoff to another person, provider, or external service.
Observable success. The result appears in the display band, right-aligned in tabular numerals, and the user can read it without the digits jittering. The whole interaction completes on one page.
Constraints. No account, no persistence, no history. The interface must remain simple and calm, with tactile but unshowy feedback.
0, a hairline rule, and a 4×4 keypad.0.0 and any active-operator ring clears.Muse and headline. Naoto Fukasawa — "Super normal arithmetic: a calculator that feels inevitable." The page should read as a well-made object resting on a table, not a SaaS template.
Mode. Light mode only.
Colour tokens (exact hex by role)
#F4F1EC#FBFAF7#2B2A27#3E4A3D#C97B4A#8A857CProportions: ~70% warm ground, 25% surface, 5% ink/accent. All text pairs pass body-size contrast on their grounds.
Typography
clamp); keypad digits 22px → 26px; labels 12px tracked caps; helper text 15px; line-height 1.5 body / 1.0 numerals.Shape language. Simple rounded blocks with soft continuous radii: 18–28px on the calculator shell, 14px on number keys, fully pill-shaped operator and equals keys. One gentle top-edge highlight on each key like a softly lit physical button. No blobs, no glass, no gradients beyond a 1px inner light line.
Layout. Single centred column on the warm ground: a small tracked wordmark at top-left of the object, then one calculator card (max-width 420px) holding a right-aligned result display band, a hairline rule, and a 4-column keypad grid with generous 12px gutters. Below the card, one quiet line of helper text. Calm sequential spacing on an 8-pt rhythm. On mobile the card goes edge-to-edge with 20px margins; on desktop it floats with real breathing room.
Imagery. No photography and no illustration. The interface is the object: a softly lit product still-life treatment achieved in CSS — one gentle top highlight, a soft ambient shadow beneath the card, and a faint paper texture on the ground. Digits and keys are the content.
Avoid. Blue or indigo accents; glassmorphism, gradient blobs, frosted panels; grids of identical hover-lift cards or any marketing section; bold shouting display type or all-caps numerals; bouncy or springy key animations, particles, entrance choreography; photography, stock people, decorative illustration; visible grid lines, dashed borders, wireframe styling.
The first screen is a single softly lit object. The calculator card sits slightly above centre on a warm paper-white ground (#F4F1EC), lit from the top-left with a wide, low-opacity ambient shadow so it reads as a physical device resting on a table — not a UI panel. The right-aligned result display is the dominant element at 40px on mobile and up to 88px on desktop, with a small tracked "CALCULATOR" wordmark above it and a hairline rule separating display from keypad. The 4×4 keypad fills the lower two-thirds with pill-shaped operators in deep moss (#3E4A3D) and one terracotta (#C97B4A) clear key. No headline, no subtext, no button — the object is the hero.
Signature moves:
Interaction Model: Static (direction) Motion Tempo: still Hero Dimensionality: flat
Landing Hero Motion Brief
0, the wordmark above it, the hairline rule, and the full 4×4 keypad visible. No entrance animation — the object is simply present.prefers-reduced-motion, the full static arrangement is shown: no key depression animation, no cross-fade, no ring pulse. All controls remain fully usable and readable.NFR-1 — Single-page constraint (explicit) The product must consist of exactly one page. No additional routes, navigation destinations, or secondary screens may exist.
NFR-2 — Simplicity constraint (explicit) The design must be simple: one calculator card, one wordmark, one hairline rule, one helper line. No marketing sections, no decorative illustration, no navigation chrome.
NFR-3 — Readable text and controls at every viewport (explicit, from creative direction)
Headlines, wordmarks, labels, numbers, cards' text and controls must stay entirely inside the viewport and their container at 375px, 768px, and 1280px, wrapping or scaling (e.g., font-size: clamp(...) with its mobile size) to fit. No other element may cover any part of them.
NFR-4 — Reduced-motion support (explicit, from creative direction)
Under prefers-reduced-motion, a usable static arrangement must be provided with all motion removed.
NFR-5 — Contrast (explicit, from creative direction) All text pairs must pass body-size contrast on their grounds.
NFR-6 — No persistence (required_inference) Calculations are transient and in-memory only. No calculation history, memory, or user data is stored or transmitted.
NFR-7 — Anonymous access (required_inference) The Calculator page is reachable without an account, sign-in, or identity establishment.
clamp() for the display type scale, and prefers-reduced-motion media queries.Assumptions
0 in the empty state.Constraints
0 with no expression entered.
Calculator
Add, subtract, multiply or divide — nothing to save, nothing to sign in for.

Calculator
Add, subtract, multiply or divide — nothing to save, nothing to sign in for.
No comments yet. Be the first!