golden-start is a simple calculator delivered as a single-page design. The product intent is narrow and deliberate: one page, one instrument, immediate arithmetic. A visitor opens the page, enters numbers and operators, sees the running result, and clears or corrects the calculation to start over — all without navigating away.
The audience is a single everyday user performing quick arithmetic who wants an accurate result with no setup, no account, and no surrounding application chrome. The page is the product.
The design register is calm, material precision: a dark graphite field with one perfectly lit calculator object, oversized tabular numerals as the hero, and a single restrained champagne-gold accent reserved for the equals key and the active-operator highlight.
golden-start is a single-page web calculator. It consists of:
Actors:
Accepted behavior: entering numbers and operators, seeing the running result, and clearing or correcting the calculation to start over, on a single page.
Exclusions: no accounts, no saved history, no sharing, no multi-page navigation, no scientific or programmer modes, no unit conversion, no currency.
Removed from scope
golden-start is delivered as a first-party, publicly reachable single page. There is no sign-in, no account creation, and no provider-owned surface: the calculator is anonymous and ephemeral by design, and nothing the user enters is retained after the page is closed or cleared. Because no accepted behavior creates a durable relationship, entitlement, or value transfer bound to a person, no application identity is introduced.
The current delivery horizon contains exactly one page, the Calculator, which is both the public entry and the working surface. There is no separate landing page, no dashboard, and no settings area. Future ideas are not part of this delivery and are not represented in the page or its acceptance.
The provisioned backend and database are infrastructure, not product surface: they do not add endpoints, records, or workflows to the calculator.
The single page of the product, and its anonymous public entry. It presents the calculator as one lit object on a dark field.
Information and state
0), entry-in-progress (digits accumulating), operator-pending (an operator has been chosen and a second operand is expected), result (computed value shown), error (invalid expression, e.g., division by zero).Primary actions
0 and discard any pending operator and operand.Supporting actions
., +, -, *, /, Enter/=, Escape/c on a physical keyboard; each press mirrors the on-screen key feedback, including the gold flash on equals.Domain entities
Component responsibilities
States
0 on first load; no other empty state exists.0 and discards the invalid state.0 state.prefers-reduced-motion, the reveal is static and the equals flash is suppressed; all keys and the display remain fully usable.FR-1 — Single-page calculator presentation (explicit) As a Calculator User, I should see the calculator as a single page, so that I can do arithmetic without navigating anywhere.
0 state.FR-2 — Enter numbers (explicit) As a Calculator User, I should enter digits and a decimal point, so that I can build the number I want to calculate with.
0.FR-3 — Choose an operator (explicit) As a Calculator User, I should choose an operator, so that I can specify the operation to perform.
+, −, ×, or ÷, or typing the corresponding physical key.FR-4 — See the running result (explicit) As a Calculator User, I should see the result of my calculation, so that I know the answer.
0.FR-5 — Clear and start over (explicit) As a Calculator User, I should clear the calculation, so that I can start a fresh calculation.
Escape/c.0; pending operator, stored operand, and result are discarded; any active-operator highlight is removed.FR-6 — Keyboard input (required_inference) As a Calculator User, I should use my physical keyboard, so that I can calculate quickly without reaching for the on-screen keys.
., +, -, *, /, Enter/=, or Escape/c while the page is focused.Product context. An everyday person who needs a quick answer — a sum, a difference, a product, a quotient — and wants it immediately, on whatever device is at hand. They arrive at the page with no account, no prior state, and no expectation of anything being saved. The page is the whole product.
Primary goal. Get an accurate arithmetic result on a single page, quickly, and be able to start over cleanly.
Distinct accepted responsibilities.
Relevant inputs and decisions. Which digits to enter, which operator to apply, when to press equals, and when to clear. The user decides when a calculation is complete and when to abandon it.
Interactions with other accepted participants. None. The Calculator User is the only human actor; the application performs the arithmetic and renders the result. There is no counterparty, recipient, or beneficiary whose state changes.
Observable success. The display shows the correct result of the entered expression, the equals key flashes gold on activation, and clear returns the display to 0 — all without leaving the page.
What makes this role distinct. The role is defined by immediacy and ephemerality: no identity, no history, no collaboration. Its entire value is the accuracy and legibility of the numbers on one page.
0, and the wordmark, instruction line, and "Type to calculate" hint are visible.Failure/recovery: if the expression is invalid (for example, division by zero), the display shows an error. The user presses clear, the display returns to 0, and the pending state is discarded; they begin again from step 2.
Escape/c).0; the pending operator, stored operand, and result are discarded; any gold operator highlight is removed.Enter or =. The equals key flashes gold and the result appears in the display.The visual direction is Quiet precision after Jony Ive — one perfectly lit instrument on a graphite field. The muse is Jony Ive; the headline is one perfectly lit instrument on a graphite field. The register is calm confidence and material honesty: a tool you trust at a glance, not a toy and not a dashboard.
Color tokens (dark mode)
| Role | Hex | Usage |
|---|---|---|
| Background | #141416 | Page ground (graphite field) |
| Surface | #1E1E21 | Calculator body |
| Text | #F2F1EE | Display numerals, key labels, wordmark, instruction |
| Primary | #C9A24A | Equals key fill; active-operator highlight |
| Accent | #E8C877 | Lit highlight on hover/focus of gold elements |
| Muted | #8A8A8E | Secondary labels, hairlines, keyboard hint |
| Hairline | #2C2C30 | 1px top edge on keys and body |
Balance: roughly 80% dark neutrals, 15% surface, 5% gold. Body text at #F2F1EE on #141416 or #1E1E21 passes contrast comfortably.
Typography
clamp(20px, 2.4vw, 28px).clamp(48px, 9vw, 96px), right-aligned.Shape language
#2C2C30) to read as a machined surface.Spacing rhythm
Imagery style
The display is the hero. The public entry is a dark graphite field with one perfectly lit object: the calculator body, centered at roughly 420px wide on #141416, its #1E1E21 surface catching a faint top light. The display occupies the top third of the body with oversized light-weight tabular numerals in #F2F1EE, right-aligned — the numbers are the largest thing on the page. A hairline rule separates them from the keypad.
Above the body, a small light-weight sentence-case wordmark and a single quiet line of instruction. Below it, a thin hairline rule and the "Type to calculate" micro-label. The gold equals key (#C9A24A) anchors the bottom-right of a 4-column keypad and is the only saturated element in the frame; every other key is a quiet graphite surface with a 1px top hairline. Composition is centered and still — no gradient blob, no blue button, no floating cards. Generous negative space is part of the composition.
Interaction Model: Animated Motion Tempo: restrained Hero Dimensionality: layered_2d
Landing Hero Motion Brief
cubic-bezier(0.22, 1, 0.36, 1), 600ms), settling into a still, centered composition; thereafter, each key press gives a 90ms scale-to-0.97, and the equals key gives a brief gold flash — motion only ever confirms input, never decorates.#141416 field, wordmark and instruction line above, the calculator body centered with its display showing 0 in oversized tabular numerals, the gold equals key at bottom-right, hairline rule and keyboard hint below.prefers-reduced-motion, the reveal is static (no fade or lift) and the equals flash is suppressed; key presses remain fully usable and the composition is unchanged.clamp(...)) to fit; no element covers any part of them.#F2F1EE on #141416 or #1E1E21 passes contrast comfortably.prefers-reduced-motion yields a static reveal and no flash, with full usability.clamp() for responsive type; cubic-bezier(0.22, 1, 0.36, 1) easing; prefers-reduced-motion media query.prefers-reduced-motion state in which the reveal is static and the equals flash is suppressed.
A simple calculator for quick arithmetic.

A simple calculator for quick arithmetic.
No comments yet. Be the first!