headphones-volume is a personal headphone-control utility for a single owner. Its product intent, derived directly from the authoritative requirement thread, is to let the user control everything on their headphones from one place: adjust the volume, turn one headphone (one ear) off, or turn both headphones off together — and to do so at no cost ("over $0" interpreted as free to use).
The audience is the Headphone Owner: an individual who wants a direct, trustworthy instrument for their own worn hardware, not a consumer toy or a marketing site. The app is a control instrument — it applies volume and power-off controls to the user's headphones and reflects the resulting state back to the owner.
The product is free to use, with no cost to the user. This is a hard, explicit constraint.
headphones-volume is a small, focused utility delivered as a custom first-party web application with two pages:
Actors
Accepted behavior
Ownership and exclusions
access_requirement: none). No identity, login, subscription, payment, or account-management capability is part of this product.The user asked for one thing: an app to control everything on their headphones — volume, turning one headphone off, turning both off — for free. The delivered product is therefore a single-owner control instrument with a public explanatory entry (Landing) and a working control surface (Controls). Both are first-party and open: there is no account to create, no sign-in, and no charge at any point.
The app must be able to apply volume and power-off controls to the user's headphones and show the owner the resulting state. This is the minimum mechanics required to make the accepted journeys executable; it does not introduce any additional product capability.
Everything outside volume adjustment and per-ear / both-ear power-off is out of current scope. No future features are specified by the source; the current delivery horizon covers all accepted requirements.
Not applicable — no reference directive with content_source authority was supplied.
LEFT EAR · ON, RIGHT EAR · ON, VOLUME · 68, POWER · BOTH ON — as a machined spec sheet with hairline dividers and tabular values. A short humanist body line explaining that the app controls volume and can turn one ear or both ears off, free of charge.LEFT EAR · ON/OFF, RIGHT EAR · ON/OFF, VOLUME · <value>, POWER · BOTH ON / LEFT OFF / RIGHT OFF / BOTH OFF. A segmented bezel control strip with LEFT · BOTH · RIGHT as a mechanical three-position switch with a teal active indicator, plus a power toggle styled as a recessed metal button.FR-1 — Control the owner's headphones As a Headphone Owner, I should be able to control everything on my headphones from the app, so that I have one place to manage my worn hardware.
FR-2 — Adjust headphone volume As a Headphone Owner, I should be able to adjust the volume of my headphones, so that I can set the loudness I want.
VOLUME row updates. The headphone device receives the new volume.FR-3 — Turn one headphone off As a Headphone Owner, I should be able to turn one headphone (one ear) off, so that I can silence a single ear while keeping the other active.
OFF and the POWER row reflects the single-ear state. The headphone device reflects the change.OFF, the other ear remains ON, and the POWER row shows the corresponding single-ear state.FR-4 — Turn both headphones off As a Headphone Owner, I should be able to turn both headphones off together, so that I can silence both ears at once.
OFF and the POWER row shows BOTH OFF. The headphone device reflects the change.OFF and the POWER row shows BOTH OFF.FR-5 — Free to use As a Headphone Owner, I should be able to use the app at no cost, so that controlling my headphones costs me nothing.
FR-6 — Apply controls to the headphones and reflect state As a Headphone Owner, I should see the app apply my volume and power-off controls to my headphones and show me the resulting state, so that I can trust the instrument.
LEFT EAR · ON, RIGHT EAR · ON, VOLUME · 68, POWER · BOTH ON).VOLUME ruled row updates.OFF, the other ear remains ON, and the POWER row reflects the single-ear state.OFF and the POWER row shows BOTH OFF.Muse and headline: Precision instrument control, after MARQ by Garmin — "YOUR HEADPHONES. ON YOUR TERMS."
Mode: Dark mode only.
Colour tokens (exact hex by role):
| Role | Hex | Usage |
|---|---|---|
| Background | #14161A | Graphite-titanium ground |
| Surface | #1E2126 | Raised panels |
| Hairline rule | #2C3036 | 1px dividers and ruled rows |
| Text | #F2EFE9 | Off-white body and numerals at full contrast |
| Primary | #C9A961 | Warm champagne — bezel/metal highlight and primary action |
| Accent | #2FB6A8 | Teal — single instrument accent reserved for live state (connected, volume arc, active ear) |
| Muted | #7A8088 | Labels only, ≥14px semibold; never body |
Champagne and teal appear on ≤15% of any screen; the rest is dark metal.
Typography:
font-variant-numeric: tabular-nums).Shape language: Circular bezels and gauge arcs as the core motif; ruled data rows with 1px hairlines; rounded-rectangle controls with 4px radius (mechanical, not pill); chamfered metal edges suggested by inset highlights; concentric rings for the volume dial. No blobs, no soft 24px consumer radii.
Layout: Asymmetric instrument panel — a large circular volume dial occupying the left 55% of the hero, per-ear status gauges stacked right as ruled rows with label/value pairs aligned on a strict column. Below, an edge-to-edge control strip — LEFT / BOTH / RIGHT segmented state plus power controls — laid out like a bezel button cluster. Mobile stacks dial above the ruled readout rows; all text stays inside its container at 375px.
Imagery: Macro-grade CSS/SVG instrument art — concentric dial bezels with brushed-metal conic gradients, topographic line texture at 6% opacity in the background, ruled tick marks around gauges. No stock people, no product photos of headphones; the interface itself is the artefact, rendered like a machined object.
Forbidden: Blue–indigo primary on white; any #2563EB/#4F46E5-family accent; gradient-blob heroes; glassmorphism panels; floating translucent cards; grids of identical hover-lift cards; pill buttons and 24px consumer radii; Inter, Roboto, Arial, Helvetica, Poppins, or system-ui for headings or body; playful bounce or springy easing on the dial; stock photography of people wearing headphones; decorative motion that moves or obscures readable labels.
The public entry (Landing) is a dark titanium instrument face, not a SaaS hero. A single condensed headline — "YOUR HEADPHONES. ON YOUR TERMS." — runs above, flush-left, spanning the grid. Left: an oversized circular volume dial (~520px desktop, 280px mobile) with a champagne tick ring, a teal arc showing current volume, and a tabular numeral (clamp 56px→120px) sitting dead centre in the bezel. Right: a ruled readout column — LEFT EAR · ON, RIGHT EAR · ON, VOLUME · 68, POWER · BOTH ON — in condensed uppercase labels with hairline dividers and aligned values. The background is #14161A with faint topographic lines at 6% opacity; no gradient blob, no centred subtext-button stack. The interface itself is the artefact, rendered like a machined object, and the entry control into Controls sits within the bezel cluster.
Interaction Model: Animated Motion Tempo: cinematic Hero Dimensionality: dimensional_css
Landing Hero Motion Brief
LEFT EAR · ON, RIGHT EAR · ON, VOLUME · 68, POWER · BOTH ON) — no new behaviour, only the accepted state rendered as a machined object.cubic-bezier(0.2, 0.7, 0.2, 1), 240–400ms, never bouncy; scroll reveals one panel at a time; topographic contour lines at 6% opacity drifting slowly behind the dial.#14161A ground with faint topographic lines; flush-left condensed headline above; the dial at left with its champagne tick ring and teal arc at the current volume; the ruled readout column at right with hairline dividers and aligned tabular values; the entry control within the bezel cluster.font-size: clamp(...) with its mobile size) to fit; no other element covers any part of them. Imagery, decoration, and motion may be cropped, bled, rotated, or overlapped as the direction asks, as long as they cover no readable text or control. Rationale: explicit readability constraint.prefers-reduced-motion, provide a usable static arrangement: values snap instantly, no arc sweep, static rings; every item remains fully readable. Rationale: explicit accessibility constraint.#7A8088 is used only for labels at ≥14px semibold, never for body; text at full contrast uses #F2EFE9. Rationale: explicit palette constraint.none on both pages and the free-use constraint.No additional services, queues, or Kubernetes orchestration are required for the accepted scope.
POWER row.LEFT EAR, RIGHT EAR, VOLUME, POWER) with hairline dividers and aligned tabular values.
headphones-volume controls your volume and can turn one ear or both ears off. Free of charge — no account, no cost.
Control surface
Enter control surface
headphones-volume controls your volume and can turn one ear or both ears off. Free of charge — no account, no cost.
Control surface
Enter control surface
No comments yet. Be the first!