sky-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 arithmetic operators, sees the current input and the computed result, and can clear the calculator to begin a new calculation. There is no account, no saved history, and no second destination — the whole product is one page.
The audience is the everyday calculator user: anyone who needs quick arithmetic in a calm, tactile, quietly delightful surface rather than a cold spreadsheet or a hype-tech gadget. The design language is warm modernism in the spirit of Charles & Ray Eames — honest materials, joyful order, and a keypad treated like a piece of furniture.
This document is the System Requirements Document for sky-simple, written for the requester Diya Trivedi (IN).
sky-simple is a single-page web calculator. The page is anonymous and public: no identity, no session, no persistence of calculations. All arithmetic state lives in the page for the duration of the visit. The page presents an asymmetric editorial spread — wordmark, oversized tabular result numeral, and a warm off-white keypad panel with a 4×5 key grid — and supports digit entry, operator entry, equals, and clear.
Actors:
Ownership: the single accepted destination, Calculator, is a first-party custom page owned by the application and reachable anonymously.
Narrow exclusions: no accounts, no saved history, no sharing, no scientific functions, no unit conversion, no multi-page navigation.
Removed from scope
The user asked for a simple single-page calculator design. That is the entire current product: one anonymously reachable page that performs everyday arithmetic and displays the current input and result, with a clear control to start a new calculation.
Delivery is a first-party React single-page application served alongside the provisioned shared FastAPI backend and MariaDB database. The backend and database are provisioned infrastructure and remain available for application services, but the accepted calculator behavior is client-side arithmetic on the single page; no backend endpoint or stored record is required to satisfy the accepted requirements. Access is public and ephemeral — there is no sign-in, no account, and no durable state to resume.
Nothing beyond the single calculator page is current. There is no future-horizon feature set accepted by the user; any expansion (history, scientific functions, accounts) would be a new request, not part of this document.
The single page of the product. Anonymous public entry; no identity required.
Information and state
clamp(56px, 8vw, 128px), set directly on the cream ground with no card or shadow.Primary actions
Supporting actions
Domain entities
These are in-page state only; none is persisted.
Component responsibilities
States
FR-1 — Single-page calculator (explicit) As a Calculator user, I should reach a simple calculator presented as a single page, so that all arithmetic happens in one place without navigation.
FR-2 — Enter numbers and arithmetic operators (explicit) As a Calculator user, I should enter numbers and arithmetic operators, so that I can build an arithmetic expression.
FR-3 — See current input and computed result (explicit) As a Calculator user, I should see the current input and the computed result on the page, so that I know what I have entered and what it evaluates to.
FR-4 — Clear the calculator (explicit) As a Calculator user, I should clear the calculator to start a new calculation, so that I can begin fresh.
FR-5 — Keyboard parity (required_inference) As a Calculator user, I should operate the calculator from the keyboard, so that entry is fast and accessible.
FR-6 — Reduced-motion presentation (required_inference) As a Calculator user who prefers reduced motion, I should still use the calculator with a usable static arrangement, so that motion preferences do not block use.
prefers-reduced-motion: reduce.Product context. An everyday person who needs quick arithmetic — a household sum, a quick check, a running total — and wants it to feel calm and tactile rather than clinical. They arrive at the single page anonymously, with no account and no expectation that anything is saved.
Primary goal. Enter a short arithmetic expression and read its result immediately, then clear and start again when needed.
Distinct accepted responsibilities.
Relevant inputs and decisions. Which digits and operators to enter; when to press equals; whether to correct the expression or clear it; whether to use the on-screen keys or the keyboard.
Interactions with other participants. None beyond the page itself. There is no counterparty, no recipient, and no shared state; the calculator is a private, ephemeral tool for the person using it.
Observable success. The result numeral shows the correct computed value for the entered expression; the current input is visible; clearing returns the page to a clean empty state ready for the next calculation.
Failure/recovery: if the user divides by zero, the result area shows an inline error ("Cannot divide by zero") and the expression is preserved; the user corrects the expression or clears.
The creative direction is authoritative: Warm modernism with honest materials and joyful order, muse Charles & Ray Eames, headline register calm, tactile, quietly delightful.
Colour tokens (light mode)
#F2EBDD#FBF6EC#2B2620#C9542B#D9A227#1F6F6B#7A7266#E3D9C8Colour blocks are large flat fields, never gradients.
Typography
clamp(56px, 8vw, 128px), mobile floor 56px.Shape language
Layout
Imagery
Accessibility
#1F6F6B.The public entry is an asymmetric editorial spread, not a centred SaaS hero.
clamp(56px, 8vw, 128px), sitting directly on the cream ground with no card behind it — the number itself is the dominant element. A 1px ink horizontal rule spans the left column beneath the wordmark.Signature moves
No gradient, no blob, no centred stack.
Interaction Model: Animated Motion Tempo: restrained Hero Dimensionality: layered_2d
Landing Hero Motion Brief
clamp(56px, 8vw, 128px) with a 56px mobile floor.prefers-reduced-motion.
A simple calculator.
Result
0
Nothing entered yet
Or use your keyboard — Enter to compute, Esc or Del to clear.

A simple calculator.
Result
0
Nothing entered yet
Or use your keyboard — Enter to compute, Esc or Del to clear.
No comments yet. Be the first!