raven-calculator is a simple, single-page calculator. A visitor opens one page and finds a working calculator: a display showing the running value, a keypad for digits and arithmetic operations, and a computed result. The product intent is deliberately narrow — one page, one tool, no accounts, no navigation, no surrounding application. The design must be simple, and the calculator must be contained entirely in a single page.
The audience is anyone who needs quick arithmetic and wants a calm, legible, unhurried tool rather than a clinical gadget or enterprise interface. The page is anonymous and public: no sign-in, no saved history, no personalization.
raven-calculator is delivered as a single custom web page titled Calculator. It is the anonymous public entry surface and the only destination in the product. The page presents an editorial header (a small "raven" wordmark, a hairline rule, a one-line caption), an oversized serif headline, and the calculator panel itself — a serif display plus a 4×5 keypad with a rust equals key — followed by a short footnote line.
The only human actor is the Calculator User, who enters numbers and operations and reads the computed result. There are no other personas, no system-to-human handoffs, and no external or provider-owned surfaces. All computation happens in the page itself; there is no backend dependency for the accepted behavior.
The accepted product is a single anonymous page. Access is public and requires no identity: there is no account, no session continuity, no saved state, and no differentiated permissions. The calculator's working state (the current entry, the pending operation, the displayed result) lives only for the duration of the visit and is not persisted.
Everything described in this document is current. There are no accepted future requirements. The page does not include history, memory keys, scientific functions, unit conversion, currency, sharing, or any adjacent calculator capability, because none was requested. The design constraint of simplicity and the single-page constraint are binding: no additional pages, routes, or navigation may be introduced.
Not applicable — no reference directive supplies a content_source.
The single page, anonymously reachable, hosting the entire product.
0.0–9 and a decimal point.+, −, ×, ÷.= to compute and display the result.C (or AC) to return to 0.±) if present in the keypad layout.clamp(34px, 6vw, 61px), ragged two-line setting, with the hand-drawn ink-and-rust feather-plus spot mark tucked into the second line.clamp(32px, 7vw, 56px), right-aligned, ink; separated from the keypad by a hairline rule.prefers-reduced-motion, both resolve instantly to their final state.0; no operator active.=, the display shows the computed result; the operator underline clears; the next digit begins a new entry.Cannot divide by zero) and leaves the calculator usable; pressing C or entering a digit recovers to a normal state.C always returns the calculator to 0 with no pending operation; the page never becomes stuck.FR-1 — Open the calculator page (explicit) As a Calculator User, I should open a single page that presents a working calculator, so that I can perform quick arithmetic without navigating anywhere else.
0, and footnote.FR-2 — Enter digits and a decimal point (explicit)
As a Calculator User, I should press digit keys 0–9 and a decimal point, so that I can build the number I want to calculate with.
0 on first digit and appending thereafter; a second decimal point in the same entry is ignored.=.FR-3 — Choose an arithmetic operator (explicit)
As a Calculator User, I should press +, −, ×, or ÷, so that I can specify the operation to perform.
FR-4 — Compute and display the result (explicit)
As a Calculator User, I should press = to compute the pending operation, so that I can read the result.
= leaves the display unchanged; if the operation is invalid (for example division by zero), the display shows a clear message and the calculator remains usable.FR-5 — Clear the calculator (explicit)
As a Calculator User, I should press C to reset the calculator, so that I can start a fresh calculation.
0; any pending operator underline clears; any stored operand is discarded.C always succeeds and is available in every state, including after an error.FR-6 — Keyboard operation and focus feedback (required_inference) As a Calculator User, I should be able to operate the calculator with the physical keyboard and see a clear focus indicator, so that the tool is usable and accessible without a pointer.
=, and clear respond to their physical-key equivalents.FR-7 — Readable, responsive presentation (explicit) As a Calculator User, I should see the headline, wordmark, labels, display value, and every key fully inside the viewport and their containers at 375px, 768px, and 1280px, so that nothing I need to read or press is cropped or covered.
clamp(...) with mobile sizes) to fit; at 1280px the calculator occupies columns 3–10 of a 12-column grid with the headline asymmetrically to its left; at 768px the layout stacks to a single centred column; at 375px everything is one full-width column with 20px gutters.Product context. A visitor who arrives at the single raven-calculator page needing quick arithmetic — a sum, a difference, a product, a quotient — and wants a calm, legible tool rather than a gadget. The page is anonymous and public; the user has no account, no saved history, and no expectation that their calculation persists after they leave.
Primary goal. Enter numbers and an operation, press =, and read a correct result without friction or distraction.
Distinct accepted responsibilities.
= to compute and read the result.C to reset and start over.Relevant inputs and decisions. Which digits to enter, which operator to apply, when to compute, and when to clear. The user decides when a calculation is finished and whether to chain another operation from the result.
Interactions with other accepted participants. None. The Calculator User is the sole human actor; there are no counterparties, recipients, or approvers. The page itself is the only surface.
Observable success. The display shows the correct result after =; the active operator is clearly indicated; C reliably returns the calculator to 0; the page remains readable and operable at 375px, 768px, and 1280px.
0.+). A rust ink underline draws in beneath the symbol, and the first number is stored as the operand.=. The display shows the computed result in the serif display, and the operator underline clears.C to reset to 0.÷, and enters 0 as the second operand.=. The display shows a clear message such as Cannot divide by zero; the calculator remains responsive.C (or begins a new digit entry), and the display returns to a normal state — 0 after C, or the new entry.= key (or its mapped equivalent) to compute, and reads the result.Muse and headline. Warm editorial arithmetic after Frank Chimero. The page is a small, well-made calculator that feels like a well-set page of a thoughtful book — calm, humane, legible — not clinical gadgetry or enterprise software.
Mode. Light mode only.
Color tokens (exact hex by role).
| Role | Hex | Usage |
|---|---|---|
| Background (cream paper) | #F4EDE1 | Dominant page ground (~70%) |
| Surface (paper) | #FBF7EF | Calculator panel and key surfaces (~20%) |
| Text (ink) | #221E1A | All reading text and the display (~7%) |
| Primary (dusty navy) | #1F3A5F | Secondary ink for labels, rules, operator key text |
| Accent (rust) | #C4512B | Equals key, focus ring, spot mark accent, active operator underline (~3%) |
| Muted (warm grey) | #8A7E6E | Captions, secondary labels, hairline rules |
Body text on cream and on paper both exceed 4.5:1 contrast.
Typography.
clamp(34px, 6vw, 61px); calculator value clamp(32px, 7vw, 56px); key labels 20–22px; body 16px; captions 14px.Shape language. Soft, hand-considered rectangles: panel and keys use 10–14px radii, never pills. Hairline 1px rules in muted warm grey separate the display from the keypad and the header from the tool. One hand-drawn-feeling illustrated spot mark (a small ink-and-rust sketch of a plus/raven feather motif) sits beside the title. No blobs, no glossy gradients, no sticker shadows — depth comes from a single soft, warm offset shadow under the calculator panel only.
Layout. A single centred column on cream paper with an editorial measure: header strip (small "raven" wordmark in Literata, a hairline rule, a one-line caption), then the calculator panel as the hero object, then a short footnote line. On desktop, a 12-column grid with the calculator occupying columns 3–10 and the title block sitting asymmetrically to its left; at 768px it stacks to a single centred column; at 375px everything is one full-width column with 20px gutters. The keypad is a 4×5 grid of equal keys with the equals key spanning two rows in rust. All labels and values wrap or scale to stay inside their containers.
Imagery. No photography. Warm flat illustration only: a small hand-drawn ink-and-rust spot mark (a stylised raven feather crossed with a plus sign) beside the title, and a faint ruled-paper texture at very low opacity on the page ground. The interface itself — the serif display and the tidy keypad — is the main visual.
Avoid. Blue-indigo accent on white or near-white; Inter, Roboto, Arial, Helvetica, Open Sans, Lato, Poppins, or system-ui for headings or body; gradient-blob heroes, glossy 3D keys, neon glows, or dark-mode gadget styling; grids of identical hover-lift cards or sticker shadows; pill-shaped buttons or fully rounded keys; photography or stock people; bouncy, springy, or looping decorative motion; crowding the page.
The first screen is an editorial page spread, not a SaaS hero. Top-left, a small "raven" wordmark in Literata with a hairline rule running the full width beneath it. Left of centre at desktop, an oversized serif headline — "A small, well-made calculator." — set in Literata at clamp(34px, 6vw, 61px) with a two-line ragged setting and a rust hand-drawn feather-plus mark tucked into the second line. To its right, the calculator panel: cream paper surface with a 1px warm rule, a large Literata display showing 0 in ink, and the 4×5 keypad with one rust equals key spanning two rows. The panel casts a single soft warm shadow onto the cream ground. On mobile the headline sits above the full-width panel.
The signature moves are: the serif calculator display, so the running value reads like a line of set type rather than a digital readout; the equals key as the only rust element, spanning two keypad rows as one deliberate asymmetric block; the edge-to-edge hairline rule under the wordmark with the headline sitting asymmetrically left of the panel like a book's title page facing its content; the hand-drawn ink-and-rust feather-plus spot mark as the only illustration; and operator keys that show a rust ink underline drawing in beneath the symbol when active, instead of a filled highlight.
This concept recomposes only accepted content, states, and controls — the display, the keypad, the operator state, and the result — and introduces no new behavior or destination.
Interaction Model: Animated Motion Tempo: restrained Hero Dimensionality: flat
Landing Hero Motion Brief
0 and the keypad at rest; a short footnote line below.prefers-reduced-motion, all entrances resolve instantly to the final state and key feedback becomes an instant colour change; the page remains fully usable and readable.clamp(...) for type, CSS Grid for the 12-column desktop layout and the 4×5 keypad). Fonts: Literata and Work Sans loaded as web fonts.0–9, a decimal point, the four operators, =, and C; ± and backspace are included only if they fit the grid without crowding, and their absence does not violate any accepted requirement.+, −, ×, ÷), indicated by a rust ink underline when active.=.#FBF7EF surface holding the display and keypad, with a single soft warm shadow.
raven
Quick arithmetic, set like a page.
Quick arithmetic, written with care
Nothing to sign in to. Nothing saved. Just enter a sum and read the answer.
0
Nothing is saved — close the page and the calculation goes with it.

raven
Quick arithmetic, set like a page.
Quick arithmetic, written with care
Nothing to sign in to. Nothing saved. Just enter a sum and read the answer.
0
Nothing is saved — close the page and the calculation goes with it.
No comments yet. Be the first!