gamma-simple is a simple calculator delivered as a single page. The product intent is narrow and complete: a person opens one page, enters numbers and operators, and reads the arithmetic result. There is no account, no navigation, no secondary screen, and no surrounding application shell — the calculator is the whole product.
The audience is the everyday calculator user: anyone who needs quick basic arithmetic and wants a clear, friendly, legible tool rather than a corporate or feature-heavy application. The design language (paper-cream ground, white keys with ink outlines, one hot orange accent on the equals key) serves that audience by keeping the interface instantly readable and pleasant to use.
The requester, Diya Trivedi, asked for a simple single-page design of a calculator; this document specifies that product in full.
gamma-simple is a single-page web calculator. The page presents a wordmark row, a result display panel, and a four-column key grid. The user presses digit keys to build a number, presses an operator key to select an operation, presses digit keys again for the second operand, and presses the equals key to see the result. Clear and backspace keys let the user correct input. All arithmetic is performed for the user on the page and the result is shown in the display panel.
The only active human actor is the Calculator user. The only page is Calculator, which is publicly reachable with no sign-in, no account, and no stored personal state. There is no differentiated permission model because there is no shared or private product state.
Current delivery is a React frontend presenting the calculator page, supported by the provisioned shared FastAPI backend and MariaDB database services in the deployment inventory. The calculator's arithmetic and display state are page-local; the backend and database are available infrastructure and are not required to hold calculator state, history, or identity for the accepted behavior.
Removed from scope
The product is delivered entirely as one first-party page. The Calculator page is the public entry surface: it opens directly into a usable calculator with no gate, no onboarding, and no identity step. Because the accepted behavior creates no durable actor-specific state, no commitment, and no value transfer that must remain bound to a person, no application-owned identity is introduced.
Everything the user does — entering digits, choosing an operator, clearing, backspacing, and evaluating — happens on that one page and produces an immediately observable result in the display. There is no future horizon stated by the user, and no provider-owned or external surface participates in the accepted behavior.
Information and state
clamp(40px, 9vw, 88px).GAMMA-SIMPLE in 13px Space Mono capitals with 0.2em tracking.Primary actions
#E4572E block with white digits) to evaluate the pending operation and show the result in the display.Supporting actions
Domain entities
Component responsibilities
GAMMA-SIMPLE label strip and the VT323 wordmark; purely presentational.States
FR-1 — Open the calculator As a Calculator user, I should open the single Calculator page and immediately see a usable calculator, so that I can begin arithmetic without any setup.
GAMMA-SIMPLE label strip, the VT323 wordmark, the result display panel, and the four-column key grid with no other page or navigation.FR-2 — Enter digits As a Calculator user, I should press digit keys to build a number, so that I can supply the values I want to calculate.
FR-3 — Enter a decimal point As a Calculator user, I should press the decimal point key to enter fractional numbers, so that I can calculate with non-integer values.
FR-4 — Select an operator As a Calculator user, I should press an operator key (+, −, ×, ÷) to choose the operation, so that the calculator knows what to do with my numbers.
FR-5 — Evaluate with equals As a Calculator user, I should press the equals key to compute the result, so that I can see the answer to my calculation.
#E4572E block with white digits; pressing it replaces the display with the computed result.FR-6 — Clear the calculator As a Calculator user, I should press the clear key to reset the calculator, so that I can start a fresh calculation or recover from a mistake.
FR-7 — Backspace a digit As a Calculator user, I should press the backspace key to remove the last entered digit, so that I can correct a typo without clearing everything.
Product context. The Calculator user is an everyday person who needs quick basic arithmetic and opens gamma-simple as a small, friendly utility. They arrive at the single Calculator page directly, with no account, no onboarding, and no expectation of saved history — the tool is used in the moment and the result is read immediately.
Primary goal. Get a correct arithmetic answer quickly and clearly, with as little friction as possible.
Distinct accepted responsibilities.
Relevant inputs and decisions. Which numbers to enter, which operator to apply, when to evaluate, and whether to correct or clear. The user decides when a calculation is complete and whether to continue from the result.
Interactions with other accepted participants. None. The Calculator user is the only active human actor; the calculator's arithmetic is performed for them on the page, and no other person, provider, or counterparty is affected by the outcome.
Observable success. The display shows the correct result of the entered calculation, the active operator is clearly marked in orange, and the user can immediately start another calculation or correct a mistake.
GAMMA-SIMPLE label strip, the VT323 wordmark, the cream result display panel, and the four-column key grid. No sign-in or setup occurs.Failure/recovery. If the user mistypes a digit, they press the backspace key (pixel backspace arrow) to remove it and continue. If they want to abandon the calculation, they press the clear key (pixel cross) to reset to the empty state.
Failure/recovery. If several digits are wrong, the user presses backspace repeatedly, or presses clear to reset entirely and re-enter the number.
Continuation. After any flow, the user remains on the same Calculator page and can start another calculation immediately; there is no other destination to return to.
The visual direction is "Charming clarity, one pixel at a time", with Susan Kare as the muse: crisp small-palette icon craft that gives a small utility tool personality while staying quick, friendly, and clear.
Color tokens (light mode)
#F4F1E8 (paper-cream ground)#FFFFFF (white key and panel surfaces)#1C1B18 (ink text and key digits)#1C1B18 (ink outlines, wordmark, primary keys)#E4572E (hot orange — equals key and active operator only)#8A8578 (secondary labels)Typography
clamp(40px, 9vw, 88px).Shape language
Layout
Imagery
Accessibility of text and controls. Headlines, wordmarks, labels, numbers, and controls stay entirely inside the viewport and their container at 375px, 768px, and 1280px, wrapping or scaling (for example clamp(...)) to fit, with no other element covering them.
Avoid. Rounded pill buttons and soft drop shadows; blue or indigo accents; gradient backgrounds or glass panels; photography or 3D renders; hover-lift card grids. The generic indigo/blue-on-white SaaS template is forbidden.
The calculator itself is the hero. On the cream #F4F1E8 ground, a white panel with a 2px ink outline floats as the single focal object. Above it sits a 64px VT323 wordmark in ink, and a small-caps GAMMA-SIMPLE label strip in 13px Space Mono capitals with 0.2em tracking. Inside the panel, the result display is a cream inset panel with a 2px ink outline holding right-aligned VT323 digits up to 88px. Below it, the four-column key grid presents chunky white keys with ink digits and 2px ink borders over 4px hard offset shadows — and exactly one hot block: the equals key in solid #E4572E with white digits. The active operator is the only other element allowed to take the orange accent. Pixel icons (backspace arrow, clear cross) replace text words on their keys. The composition is a single centred column, max 420px wide, with no decoration competing with the calculator.
Interaction Model: Animated Motion Tempo: restrained Hero Dimensionality: flat
Landing Hero Motion Brief
prefers-reduced-motion, the 4px drop is replaced by a static colour change on the pressed key; all content and controls remain fully usable and legible, and the layout is unchanged.prefers-reduced-motion. (explicit — creative direction)frontend, backend, and database services as provisioned.#E4572E orange accent.#E4572E block with white digits that evaluates the pending operation.
GAMMA-SIMPLE
Display
Display shows 0Calc · 4-colReady

GAMMA-SIMPLE
Display
Display shows 0Calc · 4-colReady
No comments yet. Be the first!