bronze-simple is a simple calculator delivered as a single page design. The product intent is narrow and explicit: one page that lets a person perform everyday arithmetic — entering numbers and operators, reading the computed result, and clearing the display to begin again — with no other surfaces, no accounts, and no surrounding application.
The audience is anyone who needs a self-contained arithmetic tool: a single anonymous visitor who opens the page, works a calculation, and leaves. The design must remain simple; simplicity is a hard constraint, not a stylistic preference.
bronze-simple is a single-page web calculator. The page is the anonymous public entry: it opens directly to a working calculator with no sign-in, no onboarding, and no navigation to any other destination. The Calculator User enters digits and operators, the display shows the current entry and the computed result, and a clear control resets the display for a new calculation.
Current delivery comprises:
The only active human actor is the Calculator User. There are no provider-owned or external destinations in the accepted scope, and no system process performs work that a human does not initiate and observe on the page.
Removed from scope
The user asked for a simple single page design of a calculator. That request is the whole product: one page, one artefact, arithmetic only. The page is publicly reachable and anonymous — there is no identity establishment, no session continuity requirement, and no protected state, because nothing the Calculator User does needs to be privately owned or resumed. A visitor who reloads the page simply starts with a fresh display.
Everything the Calculator User does happens on the Calculator page itself: entering digits, choosing an operator, reading the result, and clearing. The shared backend supplies arithmetic evaluation behind that page; it is an implementation detail of the same single-page experience, not a second destination. The provisioned database is available infrastructure but carries no current product responsibility, since the accepted calculator keeps no history and stores nothing between visits.
No future capabilities are accepted. Anything beyond simple arithmetic on one page — history, memory keys, unit conversion, accounts — is outside the current boundary and is not planned here.
The single page of the product. It is anonymously reachable and renders the calculator artefact centred on a warm paper field, with a quiet page label above it and a muted metadata block beneath it.
Information and state
0 on first load and after clearing.Primary actions
0 state.Supporting actions and controls
Domain entities
Component responsibilities
States
0.FR-1 — Open the calculator As a Calculator User I should open the single page and immediately see a working calculator, so that I can begin arithmetic without any setup.
0 in the display band; access — anonymous, no identity required; failure/recovery — if the page fails to load, reloading the page restores it; continuation — the user proceeds to enter digits.FR-2 — Enter digits As a Calculator User I should press digit keys to build a number in the display, so that I can supply operands.
7 then 5 shows 75; the first digit after a result or an operator starts a fresh entry.FR-3 — Enter a decimal point As a Calculator User I should press the decimal point to begin a fractional entry, so that I can calculate with non-integer values.
3 . 5 shows 3.5; pressing . twice yields 3.5, not 3..5.FR-4 — Select an operator As a Calculator User I should press an operator key to record the current entry and choose the operation, so that the next entry becomes the second operand.
8 + marks + as active; pressing × instead marks × as active.FR-5 — Compute a result As a Calculator User I should press equals to evaluate the pending expression and see the result, so that I get the answer to my calculation.
8 + 2 = shows 10; pressing + 3 = next shows 13.FR-6 — Clear the calculator As a Calculator User I should press AC to reset the display and pending expression, so that I can start a new calculation.
0, the pending expression and active operator are cleared; failure/recovery — AC works from any state, including error; continuation — the user begins a new entry.0 with no active operator.FR-7 — Toggle sign As a Calculator User I should press ± to change the sign of the current entry, so that I can enter negative values.
5 ± shows -5; ± again shows 5.FR-8 — Apply a percentage As a Calculator User I should press % to apply a percentage to the current entry, so that I can work with percentage values.
0 leaves 0; continuation — the user presses an operator or equals.50 % shows 0.5.FR-9 — Receive key press acknowledgement As a Calculator User I should see each key acknowledge my press, so that I know the input registered.
Product context. The Calculator User is anyone who opens bronze-simple to do a piece of everyday arithmetic. They arrive at the page anonymously, with no account and no prior state, and they expect a working calculator the moment the page appears. The page is the entire product for them.
Primary goal. Get a correct result from a simple, self-contained page, then either chain another operation or clear and start again.
Distinct responsibilities. The Calculator User is the sole actor. They enter digits and at most one decimal point per entry, choose an operator, supply the second operand, and commit the calculation with equals. They read the result from the display band, and they clear with AC when they want a fresh start. They also use ± and % when their arithmetic calls for a negative value or a percentage.
Inputs and decisions. Their inputs are key presses on the keypad. Their decisions are which operator to apply, when to commit with equals, whether to chain from the result, and when to clear. They read the display to confirm each entry and the final result.
Interactions with other participants. None. There is no counterparty, recipient, or beneficiary; the calculation is entirely the Calculator User's own.
Observable success. The display shows the correct result for the entered expression, the active operator is visibly marked while an operation is pending, and AC reliably returns the page to 0.
0.8. The 8 key flips to ink for 80ms and the display shows 8.+. The + key is marked as the active operator and the display continues to show 8 as the stored first operand.2. The display shows 2 as the second operand.=. The equals key acknowledges the press, and the display immediately shows 10 with no crossfade.× then 3 then =. The display shows 30, chained from the previous result.0 and clears the pending expression, and they begin again at step 2.0.3, ., 5. The display shows 3.5.×, then 2, then =. The display shows 7.. a second time within the same entry, the extra decimal point is ignored and the entry remains valid.0.5, then ±. The display shows -5.+, then 1 0, then =. The display shows 5.± again before committing returns the entry to 5.0.5 0, then %. The display shows 0.5.×, then 2 0, then =. The display shows 10.8 ÷ 0 and presses =.0 and the pending expression is cleared. Alternatively, the user presses a digit key, which starts a fresh entry and returns the page to a usable state.0, the active operator marking is removed, and the pending expression is discarded.The visual language is an austere reference after Peter Saville: one exact artefact, one spot colour, and a calculator that behaves like a precision instrument. The page reduces rather than decorates.
Palette (light mode)
| Role | Hex | Use |
|---|---|---|
| Background | #F2EFE8 | Warm paper ground filling the page |
| Surface | #FFFFFF | The calculator artefact |
| Text | #111111 | Type, key labels, display numerals |
| Primary | #0E0E0E | Ink fill for active operator, equals key, and press acknowledgement |
| Accent | #D2462E | Faded Factory-red spot colour: active operator, equals key, and the single hairline reference mark |
| Muted | #8A857C | Metadata labels and secondary key labels |
No gradients. No shadows beyond a 1px hairline.
Typography
clamp(44px, 9vw, 88px).Shape language. Hard edges only. The calculator is a single white rectangle with a 1px ink hairline border and no radius. Keys are square-cornered cells separated by 1px hairlines in a strict four-column grid. The display is a ruled band at the top of the artefact with a thin ink rule beneath it. No pills, no blobs, no soft shadows.
Layout. A single centred column: a small uppercase label at the top-left of the page, the calculator artefact centred at a fixed max-width of 360px, then a muted metadata block beneath it of three short lines of small mono text. Generous negative space around the artefact on desktop; on mobile the artefact fills the width with 20px margins.
Imagery. No photography, no illustration. The calculator itself is the artefact; the only graphic gesture is a 6px square in #D2462E at the top-right of the display band, like a colour-code chip on a Factory sleeve.
Readable text and controls. Headlines, labels, numerals, and controls stay entirely inside the viewport and their container at 375px, 768px, and 1280px, wrapping or scaling to fit. Nothing covers any part of them.
The first screen is a warm paper field (#F2EFE8) with the calculator presented as a single centred white artefact, 360px wide, bordered by a 1px ink hairline, floating in generous emptiness. Above it, flush left, a single line of 11px uppercase tracked Archivo reads SIMPLE CALCULATOR — ONE PAGE. The display band at the top of the artefact shows a large IBM Plex Mono numeral in ink, right-aligned, with a 6px spot-red square pinned to its top-right corner. The keypad below is a strict hairline grid of square keys.
There is no headline over the artefact, no secondary call to action, no gradient, and no blue button. The composition is the object and the silence around it. The whole page reads like a record sleeve back cover: one artefact, one spot colour, muted archival metadata beneath.
The signature moves are: the bordered artefact on warm paper with the flush-left tracked label; the ruled display band with its spot-red reference chip as the only saturated colour; square hairline-separated keys rather than rounded buttons, with the active operator and equals key inverting to ink black with white labels as the only filled surfaces; the three-line muted metadata block beneath the artefact; and the 80ms ink flip on key press as a mechanical acknowledgement.
Interaction Model: Static (direction) Motion Tempo: still Hero Dimensionality: flat
Landing Hero Motion Brief
0 in large tabular mono with the 6px spot-red square at its top-right, the hairline keypad grid below, and the three-line muted metadata block beneath.prefers-reduced-motion, the 240ms fade-in is removed and the artefact appears immediately; the 80ms key acknowledgement is retained as an instantaneous state change with no transition, and the display continues to update instantly.0.prefers-reduced-motion.#D2462E, used only for the active operator, the equals key, and the reference chip.
SIMPLE CALCULATORONE PAGE

SIMPLE CALCULATORONE PAGE
No comments yet. Be the first!