giant-start 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, reads the computed result, and can clear the display to begin again. There is no navigation, no account, no saved history, and no second screen. The page is the object.
The audience is anyone who needs quick arithmetic — a casual, everyday utility user who wants a fast, pleasant, tactile calculator rather than a spreadsheet or enterprise tool. The design brief asks for simplicity, so the product earns its character through form, colour, and press-feedback rather than through features.
giant-start is a single-page web calculator. The current delivery consists of:
Actors. The only active human actor is the Calculator user, who opens the page, enters numbers and operators, reads the result, and clears to start again. There are no system, provider, or external actors in the accepted behavior.
Accepted behavior. Number entry, operator entry, equals to compute, clear to reset, and a displayed result — all on one page, anonymously reachable, with no identity, session, or persistence requirement.
Narrow exclusions. No navigation, no multiple pages, no accounts or sign-in, no calculation history, no memory keys, no scientific functions, no unit conversion, no sharing or export.
Removed from scope
giant-start is delivered as a single, anonymously accessible page. There is no access boundary to cross: a visitor lands directly on the Calculator and can use it immediately. No identity is established, no session is required, and nothing the user enters is bound to a person or persisted as durable state. This is deliberate and matches the accepted scope — the calculator is a stateless, ephemeral utility.
The current delivery horizon contains exactly one page and one capability set: arithmetic entry, computation, display, and clear. Everything else — history, accounts, scientific functions, additional pages — is outside the current boundary and is not planned as a future requirement in this document.
The backend and database are provisioned infrastructure. They do not create product requirements, do not imply authentication, and do not justify domain entities for the current calculator.
The single page of the product, and the anonymous public entry surface. It is the whole application: there is no surrounding chrome, navigation, or secondary destination.
Information and state
Primary actions
Supporting actions
Domain entities
Component responsibilities
States
0 in the display with no pending operator.Error); the next digit or clear returns the calculator to a usable state.0; entering a new digit after an error starts a fresh operand.FR-1 — Open the calculator As a Calculator user, I should open the single Calculator page and immediately see a working calculator, so that I can begin arithmetic without any setup.
0, and full keypad.FR-2 — Enter digits As a Calculator user, I should press digit keys to build a number in the display, so that I can enter the operands of my calculation.
FR-3 — Enter a decimal point As a Calculator user, I should press the decimal key to enter fractional numbers, so that I can calculate with non-integers.
FR-4 — Choose an operator As a Calculator user, I should press an operator key (+, −, ×, ÷) to select the operation, so that the calculator knows what to do with the next operand.
FR-5 — Compute a result As a Calculator user, I should press equals to compute and see the result, so that I get the answer to my calculation.
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 new calculation.
0 and any pending operator is removed.FR-7 — Keyboard operation As a Calculator user, I should use my keyboard to enter digits, operators, equals, and clear, so that I can calculate quickly without reaching for the mouse.
Product context. An everyday person who needs quick arithmetic and opens giant-start as a small, pleasant utility. They arrive with no account, no prior state, and no expectation of saved work — the calculator is a momentary tool they pick up and put down.
Primary goal. Get a correct answer to a simple arithmetic expression quickly, and be able to start a fresh calculation immediately afterward.
Distinct accepted responsibilities. Entering operands (digits and decimal point), choosing an operator, committing the computation with equals, reading the result, and clearing to reset. The user is both the initiator and the sole participant — no other human is affected by the calculation, and no state is created for anyone else.
Relevant inputs and decisions. Which numbers to enter, which operator to apply, when to press equals, and when to clear. The user decides when a calculation is complete and when to begin a new one.
Interactions with other participants. None. The calculator is a single-participant, stateless utility; the user's own action produces the only observable outcome.
Observable success. The display shows the correct result, the status dot confirms the computation, and the calculator is immediately ready for a new calculation after clear.
0 and the full keypad visible. (Owner: Calculator page.)0 and the pending operator is removed.Failure/recovery: If the user divides by zero, the display shows an error indication; pressing clear or entering a new digit returns the calculator to a usable state.
Continuation: After a result, the user may chain another operator onto the result or clear to begin again.
Failure/recovery: As in Flow 1.
0 and any pending operator is removed.Continuation: The calculator is immediately ready for the corrected calculation.
The creative direction is authoritative for this section. The muse is Karim Rashid; the headline idea is a glossy candy object you enjoy pressing.
Mode: light only.
Colour tokens (exact hex by role)
#F7D9E3#FFF6F8#1E1B1F#FF3D8B#C6FF3D#8A7A82Colour proportion: roughly 55% pink ground, 30% white surface, 10% ink, 5% hot pink/lime accents. Accents stay loud because they are scarce.
Typography
0.08em tracking.clamp(28px, 5vw, 44px); readout clamp(44px, 9vw, 88px); key labels clamp(18px, 2.4vw, 24px); supporting copy 15/16px.Shape language
Spacing rhythm
Imagery style
The public entry is the calculator itself. The first screen is a saturated bubblegum-pink field (#F7D9E3) with one oversized glossy calculator object floating slightly above centre, lit from the top-left so a specular streak runs across its rounded white body (#FFF6F8). The calculator is the hero at roughly 85% of the viewport height on desktop and near-full-width on mobile. The wordmark "GIANT" in Unbounded sits small in the top-left, and a single line of Quicksand copy sits beneath the body. There is no centred headline-and-button stack and no gradient blob behind a CTA — the object itself, its colour, and its gloss carry the composition. A deep-pink organic blob bleeds off the top-right edge for depth, never overlapping the readout or keys.
Signature moves, all recomposing accepted content and controls:
Interaction Model: Animated Motion Tempo: expressive Hero Dimensionality: layered_2d
Landing Hero Motion Brief
0, all keys at rest.prefers-reduced-motion, all motion collapses to instant state changes — no scale, no slide, no drift, no pulse — while every control remains fully usable and readable.clamp(...)) to fit; no other element may cover any part of them. Decoration may bleed off edges but must never cover readable text or controls.prefers-reduced-motion by collapsing to instant state changes with no scale or drift.No additional infrastructure is required for the current calculator workflows.
prefers-reduced-motion.0.
Tap the keys or use your keyboard — press C or Escape to clear.

Tap the keys or use your keyboard — press C or Escape to clear.
No comments yet. Be the first!