Product intent. hvac-duct-cleaning is a first-party web application that lets offshore platform accommodation maintenance teams capture HVAC duct cleaning findings and compile them into a formal HVAC Duct Cleaning Report delivered as a Microsoft Word document (.docx). The product exists to make the cleaning work on an offshore platform's accommodation HVAC system documented accurately and completely enough to produce an audit-ready Word report for handover.
Audience. Two active human roles use the product: the HVAC Duct Cleaning Technician, who performs the duct cleaning work and captures the findings, and the Report Preparer, who assembles those findings into a structured report and exports it as a Word document. Both work in harsh marine environments and need calibrated, industrial-precision tooling rather than a generic SaaS interface.
Scope of this document. The document specifies the current delivery: anonymous entry, self-service identity establishment, durable cleaning-record capture, report assembly, and Word (.docx) export. It preserves the explicit hard constraint that the report must be delivered as a Word document.
The product is a single first-party web application with a shared backend. It provides:
.docx document.Actors. Two active human personas (HVAC Duct Cleaning Technician, Report Preparer) and one supporting system actor (the application backend, which persists records and generates the .docx file). No provider-owned or external-destination surfaces are in scope.
Narrow exclusions. The product does not include scheduling, work-order dispatch, inventory, billing, or multi-tenant administration. It does not produce PDF or other non-Word report formats as a current capability. It does not include photography of people, and it does not use light backgrounds, blue/indigo primaries, pill buttons, gradient blobs, glassmorphism, or playful/bouncy animation.
The accepted requirement is narrow and specific: prepare an HVAC duct cleaning report for an offshore platform accommodation in a Word document. Everything in the current product serves that outcome. The application owns identity because cleaning records and generated reports are durable, actor-specific state that must be privately owned and resumable; therefore first use is a self-service Sign Up, returning use is Login, and the two working destinations (Cleaning Records, Reports) require login. The Landing, Login, and Sign Up surfaces are anonymously reachable.
The Word document is the delivery format for the report. The application generates the .docx file server-side and makes it available for download from the Reports destination. No other report format is a current commitment. Future ideas (for example, additional export formats or template libraries) are out of scope for this generation and are not acceptance criteria.
Not applicable — no reference directive declares a content_source.
prefers-reduced-motion..docx document..docx file..docx generation on the backend; download delivery of the generated file..docx. Error: generation or export failure shows an inline error with retry. Recovery: retry generation or export; return to Cleaning Records to complete missing details.FR-1 — Prepare an HVAC duct cleaning report for an offshore platform accommodation. (explicit) As a Report Preparer, I should assemble the captured HVAC duct cleaning details for the offshore platform accommodation into a structured report, so that the cleaning work is documented in a formal report. Lifecycle: the Report Preparer opens Reports (login required), selects the captured cleaning records to include, and generates the report; the assembled preview is the observable result. Failure: if no cleaning details exist, the page states that details must be captured first and links to Cleaning Records. Continuation: after generation, the Report Preparer proceeds to export. Acceptance: a generated report exists that reflects the captured cleaning details for the offshore platform accommodation.
FR-2 — Deliver the report as a Word document (.docx). (explicit)
As a Report Preparer, I should export the generated report as a Word .docx document, so that the report is delivered in the required Word format. Lifecycle: from the generated report on Reports, the Report Preparer triggers export; the backend produces a .docx file and the browser downloads it. Failure: export failure shows an inline error with retry. Continuation: the downloaded file is available for handover. Acceptance: the downloaded file is a valid .docx Word document containing the report content.
FR-3 — Self-service enrollment for first use. (required_inference) As an HVAC Duct Cleaning Technician or Report Preparer, I should create my own account on first use, so that I can privately own and resume my cleaning records and reports. Lifecycle: an anonymous visitor on Landing selects "Start Report" and reaches Sign Up; on successful enrollment a session is established and the actor is routed to Cleaning Records. Failure: duplicate email or validation error shows an inline message. Continuation: the actor proceeds to capture cleaning details. Acceptance: a new identity is created and the actor is signed in.
FR-4 — Returning verification before accessing protected cleaning records and reports. (required_inference) As a returning HVAC Duct Cleaning Technician or Report Preparer, I should verify my identity on Login, so that only I can access my durable cleaning records and reports. Lifecycle: an anonymous visitor on Landing or Login submits credentials; on success a session is established and the actor is routed to the working destination. Failure: invalid credentials show a non-revealing inline error. Continuation: the actor resumes work on Cleaning Records or Reports. Acceptance: protected destinations are inaccessible without a verified session.
FR-5 — Captured cleaning details must exist before a report can be generated. (required_inference) As an HVAC Duct Cleaning Technician, I should capture and save HVAC duct cleaning details and findings for the offshore platform accommodation, so that the report has content to assemble. Lifecycle: the signed-in technician opens Cleaning Records, creates a record, enters the cleaning details and findings, and saves; the saved record appears in the table. Failure: save failure shows an inline error and preserves entered values. Continuation: the technician revisits or edits the record, or the Report Preparer proceeds to generate the report. Acceptance: persisted cleaning records exist and are available to Reports.
FR-6 — Report must be generated before it can be exported as a Word document. (required_inference)
As a Report Preparer, I should generate the report before exporting, so that the exported .docx contains the assembled content. Lifecycle: the Report Preparer generates the report on Reports; the export control becomes available only for a generated report. Failure: attempting export before generation is prevented or shows a message to generate first. Continuation: after generation, export proceeds per FR-2. Acceptance: export is only possible for a generated report.
.docx report available for handover..docx file..docx file downloads successfully..docx file on the backend and the browser downloads it. On generation or export failure, an inline error appears with a retry control.Muse and headline. MARQ by Garmin — precision instrument reporting for offshore HVAC. Headline: "HVAC Duct Cleaning Report" set in Barlow Condensed uppercase, stacked in two lines.
Mode. Dark mode only.
Color tokens (exact hex by role).
| Role | Hex | Usage |
|---|---|---|
| Background | #0E1114 | Graphite titanium ground |
| Surface | #1A1F24 | Brushed-steel panels |
| Text | #E8E6E1 | Warm off-white body and headings |
| Primary | #C9A86A | Champagne — key data values, active states, CTA |
| Accent | #2A9D8F | Instrument teal — status indicators, links |
| Muted | #6B7A85 | Steel grey — secondary labels |
Typography. Headings: Barlow Condensed, uppercase for labels and data headers, medium-to-bold weights, tight tracking. Body: Saira. Modular scale 1.25: 56/44/35/28/22/18/16/14. Mobile hero 36px, desktop 64px. Data labels 12px uppercase with 0.08em tracking. Data values set in tabular figures with generous letter-spacing.
Shape language. Circular gauges and bezels for metrics; ruled data rows with hairline dividers; edge-to-edge product photography with macro material detail; dark UI panels with subtle inner glow. Rounded-rectangle controls with 4px radius; no soft blobs, no pill buttons.
Spacing rhythm. Consistent 4px base unit; generous vertical rhythm between ruled data rows; dense but ordered table spacing on Cleaning Records.
Imagery style. Macro photography of duct interiors and HVAC components on dark titanium grounds; engineered textures (brushed metal, topographic lines); offshore platform accommodation exteriors in moody marine light; circular gauge overlays on imagery. No photography with people.
Avoid. White or light backgrounds; blue/indigo primary colors; rounded pill buttons; gradient blobs or glassmorphism; playful or bouncy animations; Inter, Roboto, or generic sans-serifs; identical hover-lift cards; photography with people.
Public entry concept — "Instrument Panel Hero." The Landing page is a full-bleed dark hero (#0E1114) with an asymmetrical composition. On the right, a macro photograph of a clean duct interior on a dark titanium ground is overlaid with a circular gauge showing "Duct Cleanliness Index" in champagne (#C9A86A); the gauge partially bleeds off the right edge as decoration only. On the left, the oversized condensed headline "HVAC Duct Cleaning Report" is stacked in two lines in Barlow Condensed uppercase with tight leading, followed by a Saira subhead and the primary CTA "Start Report" in champagne. A slim top bar carries instrument-style tabs for Login and Sign Up. The image is the dominant element; no gradient blobs. All readable text and controls remain whole inside the viewport at 375px, 768px, and 1280px; only imagery and the gauge decoration may bleed or crop.
Interaction Model: Animated Motion Tempo: restrained Hero Dimensionality: dimensional_css
Landing Hero Motion Brief.
prefers-reduced-motion, the gauge renders at its final value with no sweep, numbers render statically, the turntable is replaced by a static image, and scroll reveals become immediate. All text and controls remain fully readable and operable..docx). The backend must generate a valid .docx file containing the assembled report content. Rationale: explicit hard constraint in the authoritative user evidence.font-size: clamp(...)) to fit; no other element covers any part of them. Imagery, decoration, and motion may crop, bleed, overlap, or rotate as the direction asks, provided they cover no readable text or control.prefers-reduced-motion, provide a usable static arrangement; scrollable or moving content must allow every item to be brought fully into view..docx generation..docx files stored and served for download..docx generation library on the backend to produce the Word report..docx) is the only current report delivery format. (explicit)soc-report-copilot skill is not adopted; it is a security-operations report generator unrelated to HVAC duct cleaning reporting..docx — The Microsoft Word document format in which the report must be delivered.
Offshore platform accommodation
Capture duct cleaning findings for the offshore platform accommodation and assemble them into a formal HVAC Duct Cleaning Report, delivered as a Word document.
System readout
hvac-duct-cleaning is built for the accommodation HVAC systems on offshore platforms. The HVAC Duct Cleaning Technician captures the cleaning work — duct location, cleaning date, method, findings and cleanliness readings — while the Report Preparer assembles those findings into a structured report.
The finished report is delivered as a Microsoft Word document, giving the platform team a formal record of the cleaning work that is complete enough for handover.
Capture findings on the offshore platform accommodation and compile them into the report.

Offshore platform accommodation
Capture duct cleaning findings for the offshore platform accommodation and assemble them into a formal HVAC Duct Cleaning Report, delivered as a Word document.
System readout
hvac-duct-cleaning is built for the accommodation HVAC systems on offshore platforms. The HVAC Duct Cleaning Technician captures the cleaning work — duct location, cleaning date, method, findings and cleanliness readings — while the Report Preparer assembles those findings into a structured report.
The finished report is delivered as a Microsoft Word document, giving the platform team a formal record of the cleaning work that is complete enough for handover.
Capture findings on the offshore platform accommodation and compile them into the report.
No comments yet. Be the first!