mercy-calculator is a simple, single-page calculator design. The product intent is a focused arithmetic tool presented as exactly one page: a person opens the page, sees a legible calculator instrument, enters numbers and operators, and reads computed results. There is no brand story beyond the tool itself, no audience beyond "a person doing arithmetic," and no multi-page application around it. The design must be simple, and the calculator must live on a single page.
The audience is the Calculator User — any person who wants to perform basic arithmetic in a clear, trustworthy, instrument-like interface. The emotional register is that of an honest, legible machine: typographic backbone, signal colours used like transit lines, warmth inside order.
mercy-calculator is delivered as a single custom page, Calculator, owned by the application. The page is the public entry and the working surface at once: it presents the calculator instrument (wordmark, descriptor, display, keypad, operator column, footer hints) and hosts all number/operator entry and computed results. There is no authentication, no account, no persistence requirement, and no second page.
Actors
Accepted behavior
Narrow exclusions
The entire product is one page. The Calculator page is publicly reachable with no access requirement: a Calculator User lands directly on the tool and can immediately begin arithmetic. There is no anonymous-to-authenticated transition, because no identity is needed to perform or read arithmetic. Nothing is deferred to a future horizon in the authoritative requirements; the current delivery is the complete accepted scope. The page is composed like a page from a transit manual — the calculator itself is the hero, and the first screen is the tool.
Not applicable — no reference directive declares a content_source.
The single page of the product. It is the public entry and the working surface; it owns all accepted behavior.
Information and state
Primary actions
Supporting actions
Domain entities
Component responsibilities
States
FR-1 — Single-page calculator design As a Calculator User, I should see a simple calculator design presented as exactly one page, so that I can use the tool without navigating anywhere.
FR-2 — Number and operator entry As a Calculator User, I should enter digits, a decimal point, and arithmetic operators on the keypad, so that I can build the expression I want to compute.
FR-3 — Computed results As a Calculator User, I should press equals and see the computed result, so that I get the answer to my arithmetic.
FR-4 — Clear and reset As a Calculator User, I should clear the current entry, so that I can start over or recover from a mistake.
FR-5 — Keyboard entry As a Calculator User, I should use my keyboard to enter digits and operators, so that I can work faster with the same calculator.
Product context. The Calculator User is a person doing arithmetic — no brand loyalty, no account, no audience beyond the task. They arrive at the single page expecting a legible, trustworthy instrument and nothing else.
Primary goal. Enter an arithmetic expression and read the correct result quickly, on one page, without distraction or navigation.
Distinct accepted responsibilities.
Relevant inputs or decisions. Which digits and operators to enter; when to press equals; when to clear. The user decides the expression and reads the result — there is no other participant.
Interactions with other accepted participants. None. The Calculator User is the sole human actor; there is no counterparty, recipient, or beneficiary whose state changes. The calculator itself is the instrument, not a participant.
Observable success. The result display shows the correct answer in large tabular numerals; the live expression line matches what was entered; operator selection is visibly indicated; the page remains a single, simple, legible instrument at every viewport.
What makes this role distinct. The role is defined by arithmetic entry and result reading on a single page — not by account management, collaboration, or multi-step workflow. Its success is measured by the clarity and correctness of the instrument, not by any downstream outcome.
prefers-reduced-motion opens the Calculator page. The key-press flash is removed; all other states remain usable and static.Muse and headline. Erik Spiekermann — typographic infrastructure for a calculator: Fira Sans as the machine's own voice. The register is instrument-like: an honest, legible machine you trust with numbers. Not playful, not luxury, not a SaaS dashboard — a tool with typographic backbone.
Mode. Light mode.
Colour tokens (exact hex by role)
#F2EEE6#FFFFFF#1A1A1A#D0342C#F2B705#6E6A63Proportion. 70% paper/white, 20% ink, 10% signal colour.
Typography
Shape language. Square-cornered keys with 4px radius — honest controls, not pills. A 1px ink hairline frames the calculator body. Operator keys sit in a vertical right column separated by a 1px rule, like a transit map's interchange line. No shadows, no gloss, no bezel drama. The keypad is a strict 4-column grid with equal gutters.
Layout. Single centred column, max-width 420px on mobile, 520px on desktop, on the warm paper ground with generous margins (the calculator is an object on a desk, not a full-bleed app). Above the calculator: a small all-caps wordmark "MERCY" with a red rule beneath it, and a one-line descriptor. The display sits at the top of the calculator body, flush right, with the live expression above it in muted grey. Below the keypad: a thin ruled footer with keyboard-shortcut hints in micro-caps. Everything on one page, no scroll needed at desktop.
Imagery. No photography, no illustration. The interface is the imagery: a numbered keypad, ruled operator column, and the transit-line signal colours doing all the visual work. A subtle paper grain at 2% opacity on the background is the only texture.
Readable 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 (for example font-size: clamp(...) with its mobile size) to fit; no other element covers any part of them.
The calculator itself is the hero — a white square-cornered instrument sitting off-centre on a warm paper ground, framed by a 1px ink hairline, with a large all-caps "MERCY" wordmark set above it in Fira Sans Bold with a 4px signal-red rule running its full width. The result display is oversized (88px desktop, 40px mobile) and flush right in tabular numerals, dominating the top third of the body. The keypad below is a strict 4×5 grid of white keys with ink legends; the operator column on the right is separated by a vertical hairline and the equals key is a full signal-red block. No centred headline, no subtext, no CTA button — the first screen IS the tool, composed like a page from a transit manual.
Signature moves
#D0342C) block — the only filled colour area on screen.Avoid. Rounded pill keys or soft drop shadows; any blue or indigo accent; gradient backgrounds or glassmorphism; centred hero headline with subtext and a CTA button; playful bounce or spring easing; Inter, Roboto, Poppins or system-ui fonts; photography or illustration of any kind; card grids or hover-lift effects.
Interaction Model: Animated Motion Tempo: restrained Hero Dimensionality: flat
Landing Hero Motion Brief
prefers-reduced-motion, the key-press flash is removed and a usable static arrangement is provided. Rationale: explicit design constraint.#D0342C): The primary colour marking the equals key, the live operator indicator, the rule beneath the wordmark, and the thin rule above the operators.#F2B705): The accent colour marking the memory/clear row, the active operator tab, and the key-press flash.#F2EEE6): The warm background on which the white calculator body sits.
A single-page arithmetic instrument.

A single-page arithmetic instrument.
No comments yet. Be the first!