arctic-calculator is a simple calculator delivered as a single page design. The product intent is narrow and complete: a visitor opens one page, enters numbers and arithmetic operators, sees the current entry and the computed result, and can clear the calculator to start a new calculation. There is no account, no navigation, no dashboard, and no marketing surface — the calculator itself is the entire product.
The audience is the everyday visitor who needs quick, accurate arithmetic from one self-contained page. The page is anonymous and public: anyone who reaches it can compute immediately, and nothing about the calculation is retained or tied to an identity.
This document is the System Requirements Document for arctic-calculator. It specifies the single page, its components and states, the calculator user's requirements and journeys, and the visual and interaction direction that governs how the page is built.
arctic-calculator is a single-page, client-side calculator. The page presents a calculator slab containing a display panel and a keypad. The visitor enters digits and arithmetic operators, the display shows the current entry, and on evaluation the display shows the computed result. A clear control resets the calculator to a fresh state.
Actors
Accepted behavior
Ownership and delivery
All accepted behavior lives on the one Calculator page, owned by the application and reachable anonymously. Calculation is performed in the browser; there is no server-side calculation service, no persistence, and no identity.
Exclusions
Removed from scope
The user asked for "a simple single page design of the calculator." That instruction is both the product scope and the delivery boundary: exactly one page, and that page is the calculator. The page is public and anonymous — a visitor lands on it and can compute immediately, with no gate, no onboarding, and no identity establishment. Because no calculation state needs to survive a visit or belong to a particular person, no application-owned identity is introduced.
Everything the product does happens on the Calculator page: entry, display, evaluation, and clearing. There is no future horizon stated by the user, and no adjacent capability (history, memory keys, conversion, sharing) is accepted. The visual direction treats the calculator as a single machined object on a quiet ground; that direction shapes presentation only and adds no behavior.
The single page of the product. It is anonymously reachable and hosts the entire calculator: a small uppercase label, a light wordmark, the calculator slab (display panel plus keypad), a closing hairline rule, and a quiet line of micro-copy. All content aligns to the slab's left edge.
Information and state
Primary actions
Supporting actions
Domain entities
Component responsibilities
States
FR-1 — Single-page calculator delivery (explicit) As a Calculator user, I should reach the calculator on a single page, so that I can compute without navigating anywhere else.
FR-2 — Number and operator entry (explicit) As a Calculator user, I should enter numbers and arithmetic operators, so that I can build the calculation I want.
FR-3 — Display of current entry and computed result (explicit) As a Calculator user, I should see the current entry and the computed result on the page, so that I can confirm what I have entered and what the answer is.
FR-4 — Clear to start a new calculation (explicit) As a Calculator user, I should clear the calculator, so that I can start a new calculation from a fresh state.
Product context. The Calculator user is an anonymous visitor who arrives at the single page needing everyday arithmetic — a quick sum, a product, a division — and wants the answer without ceremony. They did not sign up, are not signed in, and expect nothing to be remembered after they leave.
Primary goal. Get an accurate result from one self-contained page as quickly as possible.
Distinct accepted responsibilities.
Relevant inputs and decisions. The user decides which digits and operators to enter, when to evaluate with equals, and when to clear. They read the display to confirm their entry and the result.
Interactions with other participants. The Calculator user is the only human participant. The Calculator page is the application-owned surface that responds to every action; there is no counterparty, recipient, or approver.
Observable success. The display shows the correct computed result for the entered expression, and the user can clear and begin again at any time.
Failure/recovery. If the expression cannot be evaluated (for example division by zero), the display shows an error indication instead of a result. The user presses clear, the calculator returns to the fresh state, and they begin a new calculation.
The direction is Quiet precision after Jony Ive — a calculator machined from one block of light. The calculator is the hero; there is no marketing composition.
Palette (light mode)
| Role | Hex | Usage |
|---|---|---|
| Background | #F4F5F6 | Aluminium-white ground, ~70% of the page |
| Surface | #FFFFFF | Calculator slab body |
| Text | #1C1E20 | Primary text and display numerals |
| Primary | #2B2F33 | Graphite digit and function keys, display text |
| Accent | #0E7C86 | Active operator key and result underline only, ≤4% of surface |
| Muted | #8A9096 | Labels and secondary hints |
| Hairline | #DDE0E2 | Slab edge and dividers |
Contrast: #1C1E20 on #FFFFFF and #FFFFFF on #2B2F33 both pass AA.
Typography
clamp(56px, 12vw, 128px); wordmark clamp(28px, 5vw, 44px); body 16/1.6; key glyphs clamp(20px, 3.2vw, 26px); micro-labels 11px.Shape language
0 1px 2px rgba(28,30,32,0.06).Layout
Imagery
No photography and no illustration. The only "image" is the calculator itself, treated as a studio-lit object: a soft top-light gradient (white → #F4F5F6) on the slab face, a hairline edge, and an inset display panel. Optional macro detail: a 1px engraved rule and a single arctic-teal tick on the active operator key.
The public entry is a single studio-lit calculator slab, not a marketing hero. The white calculator body, roughly 340px wide on desktop, sits vertically centred in a 14vh top margin on an aluminium-white field. The display panel at its top holds an oversized tabular numeral (clamp(56px, 12vw, 128px)) in graphite, flush-left, with a hairline underline that turns arctic-teal only when a result is computed. A small uppercase "CALCULATOR" label and a light 44px wordmark sit left-aligned above the slab. There is no centered headline, no subtext block, and no button — the keypad is the call to action. The only colour on screen is the single teal operator key, which reads as a lit instrument indicator against graphite keys.
Signature moves carried into the build:
clamp(56px, 12vw, 128px) in graphite, flush-left inside an inset panel with a hairline underline that switches to arctic-teal #0E7C86 only when a result exists.#2B2F33, but the active arithmetic operator is the sole arctic-teal surface — the one colour event on the page.Interaction Model: Animated Motion Tempo: restrained Hero Dimensionality: layered_2d
Landing Hero Motion Brief
prefers-reduced-motion collapses all transitions to instant state changes.clamp(...) so they scale to fit at every viewport.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!