regal-calculator is a simple calculator delivered as a single-page design. Its intent is narrow and complete: a person enters numbers and arithmetic operators, sees the computed result of their expression, and can clear the calculator to begin a new calculation. The product is a focused utility for everyday arithmetic performed in quick, focused bursts by anyone who needs a number fast.
The audience is the everyday calculator user — no account, no setup, no surrounding workflow. The entire product is one page, and that page is the calculator itself.
regal-calculator is a single-page, browser-delivered calculator. It has exactly one page, Calculator, which is the product's anonymous public entry surface and the sole owner of all accepted behavior: entering digits and arithmetic operators, seeing the computed result, and clearing to start a new calculation.
There is one active human actor, the Calculator user, who interacts directly with the calculator chassis on the page. No other human participants are affected by the calculator's state: the result is produced for and read by the same person who entered the expression, and no commitment, transfer, or durable relationship is created for anyone else. There is no application-owned identity, no sign-in, and no persisted actor-specific state; the calculator's working state lives only in the current page session.
The visual delivery is an instrument-grade composition: a dark titanium ground, a single centred calculator chassis with a circular dial bezel around the display, ruled titanium keys, and one amber signal reserved for the equals key, the active operator, and the result caret. The machine is the composition — there is no marketing hero, no subtext, and no call to action.
Removed from scope
The product is delivered entirely as one first-party page. Access is anonymous and immediate: opening the page presents the calculator ready for input, with no identity establishment, verification, or session continuity required, because the accepted behavior creates no durable actor-specific state that must be privately owned or resumed.
Everything the user does — keying digits and operators, reading the result, clearing — happens on the Calculator page. There is no backend-owned workflow, no provider surface, and no external destination in the current product. Future ideas are not part of this delivery and are not represented on the page.
The single page of the product: a dark graphite field holding one centred calculator instrument. It is anonymously reachable and requires no identity.
Information and state
Primary actions
Supporting actions
Domain entities
Component responsibilities
States
prefers-reduced-motion, key-press depression, caret sweep, and bezel pulse become instant state changes.FR-1 — Single-page calculator delivery (explicit) As a Calculator user, I should get the calculator as a simple single-page design, so that the entire tool is available on one page without navigation.
FR-2 — Enter numbers and arithmetic operators (explicit) As a Calculator user, I should enter numbers and arithmetic operators, so that I can build the expression I want computed.
FR-3 — See the computed result (explicit) As a Calculator user, I should see the computed result of my expression, so that I get the number I needed.
FR-4 — Clear to begin a new calculation (explicit) As a Calculator user, I should clear the calculator, so that I can start a fresh calculation.
FR-5 — Decimal, sign, and percent entry (required_inference) As a Calculator user, I should enter decimal points, toggle the sign of an entry, and apply a percentage, so that everyday arithmetic beyond whole positive numbers is usable.
Product context. The Calculator user needs a number fast. They arrive at the single Calculator page in a quick, focused burst — mid-task, on any device — and expect the instrument to be immediately ready. They have no account, no history, and no setup; the page is the whole product.
Primary goal. Enter an arithmetic expression and read its computed result at a glance, then clear and move on.
Distinct accepted responsibilities.
Relevant inputs and decisions. Which digits and operators to key, when the expression is complete enough to press equals, and when to clear rather than continue. The user reads the active operator indicator to confirm the current operation before committing with equals.
Interactions with other participants. None. The Calculator user is the sole active human actor; the result is produced for and read by the same person, and no other participant is affected.
Observable success. The result appears in the display, right-aligned and legible at a glance, and the user can clear to a fresh state for the next calculation.
Failure/recovery: if the expression cannot be evaluated (for example division by zero), an error indication replaces the result; the user presses clear and re-enters the expression.
The creative direction is authoritative: Instrument-grade arithmetic — titanium dark, one amber signal, dial-precise numerals, after the muse MARQ by Garmin.
Colour tokens (dark mode)
#14171A (graphite titanium dark)#1E2226 (lifted titanium panel)#3A4045#EDE8DF (warm off-white, 12.5:1 on the ground)#B9A888 (warm champagne)#F2A33C (amber — equals key, active operator, result caret, one status dot; never more than 10% of the surface)#7C848B (5.2:1; never used for the display)Typography
clamp(56px, 11vw, 128px); expression line clamp(20px, 3vw, 32px); key labels 22–28px; micro-labels 11px caps +0.14em; body 15–17px.Shape language
Layout
Imagery
repeating-linear-gradient at 2% opacity), a topographic contour SVG behind the chassis at 6% opacity, and a dial-ring SVG around the display. Numerals are the ornament.Avoid
The first screen is the instrument itself, not a marketing hero. A full-viewport graphite field (#14171A) carries a faint topographic contour line drawing bleeding off the left edge at 6% opacity. The calculator chassis sits right-of-centre as the dominant object, lit like a product shot with a soft top-left titanium sheen. Above it, a single line of Barlow Condensed caps — REGAL CALCULATOR at clamp(28px, 5vw, 56px) — sits flush-left with a 1px champagne rule beneath it and a small amber dot beside it as the only signal colour on the screen. There is no centred headline, no subtext, no button, no gradient blob: the machine is the composition.
The signature moves that carry the concept:
clamp(56px, 11vw, 128px), right-aligned inside the dial like a watch readout.Interaction Model: Animated Motion Tempo: restrained Hero Dimensionality: dimensional_css
Landing Hero Motion Brief
prefers-reduced-motion drops all motion to instant state changes — key presses, result updates, and the caret appear immediately with no depression, sweep, or pulse.clamp(...) with its mobile size) to fit; no other element covers any part of them. Decoration such as the topographic contour may bleed off an edge but must cover no readable text or control.#EDE8DF at 12.5:1 on the ground; muted #7C848B at 5.2:1 reserved for key hints and never for the display.prefers-reduced-motion, provide a usable static arrangement with instant state changes.#F2A33C) reserved for the equals key, active operator, result caret, and one status dot.

No comments yet. Be the first!