rustic-calculator is a simple calculator delivered as a single-page design. The product intent is narrow and explicit: one page, one instrument, everyday arithmetic. A person opens the page, enters numbers and operators, reads the running expression and the result, and clears the display to begin again.
The audience is anyone doing quick arithmetic — a student checking homework, a shopper totalling a basket, a freelancer running a figure. The page must feel like a well-made tool: legible at a glance, calm, warm, and trustworthy, with no account, no navigation, and no surrounding application shell.
The design language is a warm, Fira-set instrument panel inspired by Erik Spiekermann's typographic infrastructure work: a paper-warm ground, a single white calculator card, oversized tabular result numerals, a signal-orange operator band, and a mustard clear key.
The product is a single, anonymously reachable calculator page. There is no sign-in, no account, no saved history, and no second destination. The page is the entire product surface: display area, keypad, and a quiet footnote.
All calculation behavior is first-party and runs in the browser on the single page. The provisioned backend and database services exist as scaffold infrastructure and are not required by any accepted calculator workflow; no calculator state is persisted, and no domain entities are created for this product. The single-page constraint is a hard boundary: no additional pages, routes, or destinations are introduced now or implied by the scaffold.
Future ideas are not part of the current product and are not represented on the page.
Not applicable — no reference directive supplies a content_source.
The sole page of the product, anonymously reachable, with no identity requirement.
Information and state
CALCULATOR above the card.EXPRESSION (11px, Fira Sans 500, tracked +0.12em, muted #7A736A).RESULT.clamp(56px, 9vw, 128px), tight tracking.÷, ×, −, +.Primary actions
Supporting actions
Domain entities
Component responsibilities
States
0.FR-1 — Single-page calculator delivery (explicit) As a Calculator User I should reach the calculator as a single page so that all arithmetic happens in one self-contained surface.
CALCULATOR label, display area, keypad, and footnote; no navigation to other pages exists.FR-2 — Digit entry (explicit) As a Calculator User I should press digit keys so that the digits appear in the current entry and the expression line.
FR-3 — Decimal entry (required_inference) As a Calculator User I should press the decimal point key so that I can enter fractional values.
FR-4 — Operator selection (explicit) As a Calculator User I should press an operator key so that the chosen operation is applied to the current entry.
+, −, ×, or ÷ in the orange operator band.FR-5 — Evaluation (explicit) As a Calculator User I should press the equals key so that the expression is evaluated and the result is shown.
FR-6 — Clear (explicit) As a Calculator User I should press the mustard clear key so that the expression and result reset.
0.FR-7 — Key press feedback (explicit) As a Calculator User I should see each key depress so that I know my press registered.
Product context. A person who opens the single-page calculator to perform everyday arithmetic — checking homework, totalling a basket, running a figure. They arrive with a number in mind and expect a legible instrument, not an application.
Primary goal. Get an accurate result from one self-contained page with minimal effort.
Distinct accepted responsibilities.
Relevant inputs and decisions. Which digits and operators to enter; when to press equals; when to clear.
Interactions with other participants. None — the calculator is a single-user instrument with no counterparty, handoff, or shared state.
Observable success. The result numeral shows the correct value for the entered expression, and the user can clear and begin again without leaving the page.
CALCULATOR label, an empty expression line, and a result of 0.0.Muse and headline. Erik Spiekermann — typographic infrastructure for a calculator: a warm, Fira-set instrument panel.
Mode. Light only.
Colour tokens (exact hex by role)
#F4F0E8#FFFFFF#1F1D1A#E8501F#F2B705#7A736A#E3DCCFProportions. ~70% ground, ~20% white surface, ~10% signal colour.
Typography
EXPRESSION, RESULT, CALCULATOR): Fira Sans 500, small caps, 11px, tracked +0.12em.clamp(56px, 9vw, 128px); page title 28/22px; keypad digits 24/20px; micro-labels 11px caps tracked +0.12em; expression line 18/16px.Shape language. Modest rounded rectangles (8–12px radii) for keys; a single 20px-radius card for the calculator body; 1px warm hairline rules separating display from keypad and keypad from footnote. No blobs, no pills, no shadows beyond a single soft 0 2px 0 hairline under each key to suggest pressability.
Layout. Centred single column, max-width 480px on mobile and 560px on desktop, calculator card vertically centred in the viewport. Above the card, the small-caps CALCULATOR label. Inside the card: display area on top (expression line right-aligned in muted grey, result in oversized Fira Sans right-aligned in ink), then a 4-column keypad grid with a consistent 12px gutter — digits 7-9/4-6/1-3 in white keys, operators column on the right in signal orange, clear key in mustard, equals key spanning the bottom-right. Below the card, a single hairline rule and a quiet footnote in muted grey.
Imagery. No photography, no illustration. The interface itself is the image; the oversized numerals are the visual subject.
Avoid. Blue or indigo anywhere; gradient backgrounds, glassmorphism, blurred blobs; rounded pill buttons or oversized soft shadows; illustration, icons, or emoji on the keys; a centred marketing headline above the calculator; multiple accent colours scattered across keys; Inter, Roboto, or system-ui for any text; bouncy or elastic key animations.
The public entry is the calculator itself. A warm paper ground (#F4F0E8) fills the viewport, and a single white calculator card floats dead centre at 560px wide on desktop. The dominant element is the oversized Fira Sans Light result numeral — up to 128px, right-aligned, in ink — sitting above a 4-column keypad where the operator column is a solid signal-orange vertical band and the equals key is a solid orange block. Above the card, a small tracked-caps CALCULATOR label; below it, a single hairline rule and a muted footnote. No blue, no gradient, no centred marketing headline — the calculator is the hero.
Signature moves carried into implementation:
clamp(56–128px)) with tabular figures — the number is the page's headline.EXPRESSION, RESULT) in 11px tracked Fira Sans 500, like wayfinding signage above the display.#F2B705) sits apart from the orange operator band — a second signal colour doing exactly one job.Interaction Model: Animated Motion Tempo: restrained Hero Dimensionality: flat
Landing Hero Motion Brief
CALCULATOR label above, empty expression line, result showing 0, orange operator band and mustard clear key visible.prefers-reduced-motion, provide a usable static arrangement.frontend, backend, and database services.+, −, ×, ÷), digits 0–9, a decimal point, clear, and equals. (required_inference — the minimum set implied by "simple calculator".)none.)CALCULATOR, EXPRESSION, RESULT).No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No comments yet. Be the first!