ultra-calculator is a simple calculator delivered as a single-page design. Its product intent is narrow and complete: a person opens one page, enters numbers and operators, and reads a correct arithmetic result. There is no onboarding, no navigation, and no second destination — the calculator page is the entire product.
The audience is anyone who needs a number fast: a single-purpose utility read at a glance, designed in the spirit of civic signage — legible, systematic, and trustworthy. The design language is "Systematic clarity," a calculator treated as wayfinding signage in the manner of Massimo Vignelli: a visible grid, colour-coded categories, and Helvetica-grade type.
ultra-calculator is a browser-delivered, single-page calculator. The page presents an oversized wordmark, a one-line explanation, a colour-coded operator legend, and a calculator card containing an expression history, a tabular result display, and a 4×5 key lattice. All arithmetic is performed on the page; the user's entry, the computed result, and the clear action all live within this one surface.
Actors
Accepted behavior
Ownership
The single page, Calculator, is the anonymous public entry and the sole working surface. It is owned by the application and requires no identity, sign-in, or account. Arithmetic evaluation is a supporting system process behind that page.
Exclusions
No multi-page navigation, no history persistence across sessions, no accounts, no scientific or programmer modes, and no adjacent calculator capabilities beyond the simple arithmetic entry, result, and clear behavior described here.
Removed from scope
ultra-calculator is delivered as one first-party web page. The page is publicly reachable with no identity requirement: a visitor lands directly on the calculator and can immediately begin entering numbers and operators. There is no anonymous pre-identity lifecycle, because no protected state, commitment, or durable actor-specific record exists — the calculator's state is ephemeral to the page session.
The current delivery horizon contains only the simple calculator on its single page. Nothing in the accepted requirements establishes a future phase, provider-owned surface, or external destination; the calculator engine runs as a supporting process behind the page rather than as a separate service the user visits.
The sole page of the product, anonymously reachable, presenting the calculator as a signage composition.
Information and state
Primary actions
Supporting actions
Domain entities
Component responsibilities
States
FR-1 — Simple calculator entry and result (explicit) As a Calculator User I should enter numbers and operators on the single calculator page and see the computed result, so that I get a correct arithmetic answer without leaving the page.
FR-2 — Clear to start anew (explicit) As a Calculator User I should clear the current entry so that I can start a new calculation from a clean state.
FR-3 — Single-page presentation (explicit) As a Calculator User I should find the entire calculator on one page, so that I never need to navigate elsewhere to complete a calculation.
FR-4 — Operator legend (required_inference) As a Calculator User I should see a colour-coded legend of the operators, so that I can identify each operator at a glance in the signage style.
FR-5 — Expression history display (required_inference) As a Calculator User I should see the expression I have entered above the result, so that I can confirm what is being calculated.
Product context. The Calculator User arrives at ultra-calculator with a single, immediate need: a number, fast. They are not looking for a workspace, an account, or a saved history — they want a legible machine that answers an arithmetic question at a glance. The page is anonymous and ephemeral; nothing about their visit persists.
Primary goal. Get a correct arithmetic result from the on-page calculator without navigating anywhere else.
Distinct accepted responsibilities.
Relevant inputs and decisions. The user decides which numbers and operators to enter, when to evaluate with equals, and when to clear. They read the operator legend to identify operators by their colour codes.
Interactions with other accepted participants. The Calculator User is the only human participant. The calculator engine evaluates the expression and returns the result to the display; the user does not interact with it directly beyond pressing keys.
Observable success. The result display shows the correct computed value in tabular numerals, and the user can clear and start again without leaving the page.
Failure/recovery: if the expression cannot be evaluated (for example, an incomplete entry), the display remains in a recoverable state; the user presses clear and re-enters the expression.
Failure/recovery: not applicable — clear always returns the page to the empty state.
Muse and headline. Massimo Vignelli — "Systematic clarity: a calculator as wayfinding signage." The page reads as civic infrastructure: a machine legible at a glance, in the spirit of subway signage and Unigrid publications.
Colour tokens (light mode)
| Role | Hex | Usage |
|---|---|---|
| Background | #F4F1EA | Warm paper ground |
| Surface | #FFFFFF | White keypad card — the only bright surface |
| Text | #111111 | All type and rules |
| Primary | #D6281E | Vignelli red — equals key and operator column headers only |
| Accent | #F2B705 | Yellow — clear key and the single rule under the display |
| Muted | #6B6862 | Secondary labels and footer legend |
Proportions: ~70% paper/white, 20% black ink, 8% red, 2% yellow.
Typography
clamp(48px, 9vw, 96px); keypad digits clamp(22px, 3vw, 28px); labels 12px uppercase; body 16px.Shape language. Hard edges and hairlines. Keys are perfect squares with a 1px #111111 border and 0 radius — no rounded corners anywhere. The keypad is a strict 4-column grid with 1px gutters so the borders read as a single drawn lattice. Horizontal rules (1px, #111111) separate the display, the keypad, and the legend.
Layout. One page, two zones on desktop: a left column (5 of 12) holding the oversized wordmark, a one-line explanation, and the colour-coded operator legend; a right column (7 of 12) holding the calculator card. The card is a white rectangle with a black 2px outer rule, the expression history at top, the tabular result below a yellow rule, then the 4×5 key lattice. On mobile the wordmark stacks above the calculator; the keypad stays 4 columns wide and never breaks out of the card. All columns align to a 12-column grid with 24px gutters.
Imagery. No photography, no illustration. The only "imagery" is diagrammatic: a small colour-coded operator legend that reads like a transit line key, and 1px pictogram glyphs for ÷ × − + = drawn as geometry. The keypad itself is the visual subject.
Readability. Headlines, wordmarks, labels, numbers, cards' text, and controls stay entirely inside the viewport and their container at 375px, 768px, and 1280px, wrapping or scaling to fit; no other element covers any part of them.
The first screen is a signage composition, not a SaaS hero. The wordmark "ULTRA-CALCULATOR" is set in Archivo 700 at clamp(56px, 11vw, 128px) in black, flush-left, spanning the full left column edge-to-edge on the warm paper ground, stacked over a 1px black rule. To its right, the white calculator card sits as a single dominant object with a hard black border, its tabular result set at clamp(48px, 9vw, 96px).
There is no centred headline, no sub-head button, no gradient. The dominant elements are the oversized wordmark and the grid lattice of the keypad, with red reserved for the equals key. The keypad is drawn as one continuous lattice: 4 columns of square keys separated by 1px black gutters inside a 2px black card border, so the grid itself becomes the graphic. The equals key is filled solid Vignelli red #D6281E as the only saturated block on the page; the clear key is outlined in yellow #F2B705. A colour-coded operator legend beside the wordmark, styled like a subway line key, maps each operator to its colour code. The tabular result display sits directly above a yellow rule, with the expression history in small uppercase grey above it.
Interaction Model: Static (direction) Motion Tempo: still Hero Dimensionality: flat
Landing Hero Motion Brief
#111111 ground with white digits for 90ms — mechanical, no easing curve — then returns to its resting state; the display updates instantly to reflect the entry or result. No other motion occurs.prefers-reduced-motion is a no-op because there is nothing to reduce; the page is fully usable as a static arrangement.prefers-reduced-motion because no motion is required.#D6281E that triggers evaluation.
Enter numbers and operators on the keypad to get a correct arithmetic result without leaving the page.
NO EXPRESSION ENTERED

Enter numbers and operators on the keypad to get a correct arithmetic result without leaving the page.
NO EXPRESSION ENTERED
No comments yet. Be the first!