wise-calculator is a single-page calculator. The product intent is deliberately narrow: a person opens one page, enters numbers and arithmetic operators, and reads the computed result. The design must be simple, and the entire calculator must be contained in a single page.
The audience is broad and anonymous — anyone who needs quick arithmetic. The product is presented as a precision instrument rather than a playful app: a titanium tool-watch dial aesthetic in which the calculator chassis, the oversized result numeral, and the machined keys are the entire experience. There is no marketing hero, no account, and no secondary product surface.
wise-calculator is delivered as a single custom page, Calculator, which is the anonymous public entry to the product. The page hosts:
The only active human actor is the Calculator User. There are no provider-owned or external destinations, no background system processes visible to the user, and no application-owned identity. All arithmetic evaluation happens in the page itself; no server-side persistence of calculations is required.
Current delivery. One first-party page, anonymously reachable, with no sign-in, no account creation, and no saved history beyond the in-session "recent" strip of the last three calculations. The calculator is a client-side instrument: entry, evaluation, and display all occur on the page.
Access ownership. The page is public and anonymous. Because no accepted behavior requires a durable, privately owned, resumable state, no application identity is introduced. There is no protected destination and therefore no first-use identity establishment or returning verification.
Current vs. future. Everything described in this document is current. No future features are accepted; the brief explicitly says "simple," and the creative direction explicitly excludes anything beyond the four arithmetic operators plus AC, ±, %, and decimal.
Exclusions. No scientific functions, no memory registers beyond the display, no unit conversion, no history persistence across sessions, no accounts, no sharing, no server API, and no additional pages.
Not applicable — no reference directive declares a content_source.
Purpose and access. The single, anonymously reachable public entry page. It is the whole product.
Information and state.
expression = result, separated by hairlines.0.Primary actions.
0–9 and decimal point.+, −, ×, ÷.= to evaluate.AC to clear all state.± to toggle the sign of the current entry.% to convert the current entry to a percentage.Supporting actions.
= begins a new entry.Domain entities.
expression = result pair retained in the in-session strip (maximum three).Component responsibilities.
WISE in tracked condensed caps at 13px with a hairline rule beneath.CALCULATOR / 001 pinned to the left margin on desktop.= spans two columns in solid champagne with graphite numerals.States.
0, recent strip shows a muted "no calculations yet" placeholder row.=; the new calculation is prepended to the recent strip (oldest beyond three is dropped).Error in the result display; the expression line retains the offending input so the user can press AC or edit by entering a new digit. No modal, no toast.FR-1 — Single-page calculator delivery (explicit) As a Calculator User, I should reach the entire calculator on one page, so that I can perform arithmetic without navigating anywhere else.
FR-2 — Digit and decimal entry (explicit)
As a Calculator User, I should enter digits 0–9 and a decimal point, so that I can build the number I want to calculate.
FR-3 — Operator selection (explicit)
As a Calculator User, I should select +, −, ×, or ÷, so that I can specify the operation.
FR-4 — Evaluation with = (explicit)
As a Calculator User, I should press = to compute the result, so that I can read the answer.
=.expression = result is prepended to the recent strip (maximum three retained).Error in the result display while the expression line retains the input; pressing AC clears it.FR-5 — Clear with AC (explicit)
As a Calculator User, I should press AC to clear the calculator, so that I can start over.
AC.0, active-operator LED is off. The recent strip is retained.FR-6 — Sign toggle with ± (explicit)
As a Calculator User, I should press ± to toggle the sign of the current entry, so that I can enter negative numbers.
±.± with no current operand has no effect.FR-7 — Percentage with % (explicit)
As a Calculator User, I should press % to convert the current entry to a percentage, so that I can compute percentage values.
%.% with no current operand has no effect.FR-8 — Recent calculations strip (explicit, from creative direction) As a Calculator User, I should see the last three calculations listed below the chassis, so that I can reference recent work.
= evaluation.expression = result appears at the top of the strip; the oldest beyond three is removed.Error result is not added to the strip.FR-9 — Simple, restrained interface (explicit constraint)
As a Calculator User, I should see only the four arithmetic operators plus AC, ±, %, and decimal, so that the interface stays simple.
Product context. A broad, anonymous person who needs quick arithmetic — a personal utility user, not a professional with a specialized workflow. They arrive at the page with a number in mind and want an answer in seconds.
Primary goal. Enter an expression and read the computed result without friction, distraction, or setup.
Distinct accepted responsibilities.
= to evaluate.AC to clear, ± to toggle sign, % to convert to a percentage.Relevant inputs and decisions. Which digits to enter, which operator to apply, whether to continue from a result or start fresh, and whether to consult the recent strip.
Interactions with other participants. None — the Calculator User is the sole active human actor. There is no counterparty, recipient, or approver; the calculator's output is for the same person who initiated it.
Observable success. The result display shows the correct computed value, the expression line reflects the input, and the recent strip records completed calculations.
What makes this role distinct. The role is defined by direct, immediate, single-actor arithmetic — there is no handoff, no shared state, and no persistence. Its work is entirely contained in one page and one session.
0, and a muted recent-strip placeholder.+, −, ×, or ÷); the operator appears in the expression and a teal LED dot lights beside it.=. The result display shows the computed value, and the completed expression = result is prepended to the recent strip (oldest beyond three is dropped).AC to clear.AC.0, and the active-operator LED turns off. The recent strip is retained.± to flip its sign, or % to divide it by 100; the expression line reflects the change.= to see the result.=.Error; the expression line retains the offending input; nothing is added to the recent strip.AC to clear, or enters a new digit to begin a fresh entry, and proceeds as in Flow A.expression = result rows in condensed tabular numerals, newest first.Muse and headline. MARQ by Garmin — Precision luxury instrument: a calculator as a titanium tool-watch dial.
Mode. Dark.
Color tokens (exact hex by role).
#14171A#1E2328#EDE8DF#C9A227#2FB6A8#8A9199Amber-on-graphite and off-white-on-graphite exceed 4.5:1 at body size; teal is reserved for accents and 16px+ labels only.
Typography.
0.08em (e.g. EXPRESSION, RESULT, MEMORY).-0.02em, clamp(56px, 12vw, 128px), tabular figures.Shape language. Circular bezels and dial rings (chassis inside a 1px champagne hairline ring with a 12px concentric outer ring); rounded-rectangle keys with 10px radii — not pills; ruled data rows for the recent strip. Every corner is either a true circle or a 10px machined radius; nothing in between. Hard 1px hairlines separate rows.
Layout. Single centered column, max-width 420px on mobile and 480px on desktop, floating on a full-bleed graphite ground with faint topographic contour lines etched at 4% opacity. Above the chassis: an oversized WISE wordmark in condensed caps and a one-line expression readout. The chassis is a stacked dial: expression line (right-aligned, muted), result (right-aligned, enormous), then a 4×5 key grid with = spanning two columns in amber. Below the chassis, a thin ruled recent strip of the last three calculations in condensed tabular numerals. On desktop the chassis sits slightly right of center with the WISE mark and a vertical CALCULATOR / 001 micro-label pinned to the left margin.
Spacing rhythm. Consistent 8px base unit; generous breathing room around the chassis; hairline rules rather than heavy dividers.
Imagery style. No photography, no illustration. The imagery is the instrument itself: a CSS-drawn concentric bezel with a subtle 135° brushed-metal sheen (a single linear-gradient at 6% white), faint topographic contour lines in the background, and a tiny knurled texture on the chassis edge built from repeating-linear-gradient. Data is the ornament — tabular numerals, ruled rows, LED dots.
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 to fit. Decoration and motion may bleed or crop; readable text and controls may not.
The first screen is the instrument, not a marketing hero. A full-bleed graphite field (#14171A) with faint etched contour lines at 4% opacity holds, dead center, a single floating calculator chassis — a dark machined slab (#1E2328) inside a 1px champagne bezel ring (#C9A227) with a 12px concentric outer ring — occupying roughly 60% of viewport height.
At the top of the chassis, the running expression sits in small teal condensed caps (#2FB6A8), right-aligned. Beneath it, the result is a watch-dial numeral: Saira Condensed 700 at clamp(56px, 12vw, 128px), right-aligned with tabular figures, framed like a subdial inside the bezel ring. Above the chassis, the WISE wordmark in tracked condensed caps at 13px with a hairline rule. No headline sentence, no subtext paragraph, no CTA button — the keypad is the call to action.
The 4×5 key grid uses machined rounded rectangles (10px radius) with a 1px top highlight and 1px bottom shadow to imply a bevel. The = key spans two columns in solid champagne (#C9A227) with graphite numerals — the single loudest element on the page, the only filled colour block in the composition. Below the chassis, a ruled recent strip lists the last three calculations in condensed tabular numerals separated by hairlines, like log entries on an instrument.
On desktop, the chassis sits slightly right of center with the WISE mark and a vertical CALCULATOR / 001 micro-label pinned to the left margin, echoing an instrument face.
Interaction Model: Animated Motion Tempo: restrained Hero Dimensionality: dimensional_css
Landing Hero Motion Brief.
=, the result digit flips with a 60ms per-digit crossfade like a split-flap.0, bezel ring at rest, recent strip showing a muted placeholder row.NFR-1 — Simplicity (explicit)
The interface must remain simple: only the four arithmetic operators plus AC, ±, %, and decimal. No scientific functions, memory registers, unit conversion, or additional pages.
NFR-2 — Single page (explicit) The entire calculator must be contained in a single page. No navigation, routing, or secondary destinations.
NFR-3 — Anonymous access (required_inference) The page is publicly reachable with no sign-in, account creation, or identity establishment, because no accepted behavior requires durable, privately owned, resumable state.
NFR-4 — Client-side evaluation (required_inference) Arithmetic evaluation occurs in the page; no server API or persistence is required for the accepted behavior.
NFR-5 — Readable text and controls at all viewports (explicit, from creative direction) Headlines, wordmarks, labels, numbers, 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.
NFR-6 — Reduced-motion support (explicit, from creative direction)
With prefers-reduced-motion, provide a usable static arrangement: no bezel sweep, no digit flip; values swap instantly.
NFR-7 — Contrast (explicit, from creative direction) Amber-on-graphite and off-white-on-graphite exceed 4.5:1 at body size; teal is reserved for accents and 16px+ labels only.
NFR-8 — No forbidden fonts or palette (explicit, from creative direction) No Inter, Roboto, Arial, Helvetica, Open Sans, Lato, Poppins, or system-ui for any text. No blue or indigo anywhere. No rounded pill buttons, soft drop shadows, pastel surfaces, gradient-blob heroes, floating glass cards, device mockups, photography, stock people, illustration, playful bounce, springy easing, or confetti on equals.
repeating-linear-gradient for the knurled chassis edge; linear-gradient for the brushed-metal sheen.Assumptions.
Error in the result display, with the expression line retaining the input for recovery.% key divides the current entry by 100, the conventional simple-calculator behavior.± key toggles the sign of the current entry.Constraints.


No comments yet. Be the first!