spring-plumbing is the website for a plumbing business based in the United States. The product intent is a professional, modern, and responsive marketing website that helps potential customers understand the business and get in touch, and that is focused on generating customer inquiries.
The site presents the business itself (homepage introduction, about page), what it does (plumbing services page), where it works (service area/location information), and how to reach it (contact page with business information, contact details, a customer inquiry/contact form, and clear call-to-action buttons). The business owner maintains the authoritative business information, contact details, service descriptions, and service-area information so the site stays current and supports the business's online visibility.
The audience is two-fold: prospective customers — homeowners and property owners in the United States who need plumbing help and are evaluating this business — and the business owner / site administrator who keeps the site's content accurate and professional.
The scope is deliberately narrow. The site is a focused professional plumbing business website and the requirements listed here; complex or unrelated features are excluded.
spring-plumbing is a responsive, multi-page website with a public customer-facing surface and a small protected administrative surface.
Public surface (no sign-in required). Prospective customers browse the Homepage, About page, Plumbing services page, Service area/location information, and Contact page. From any of these they can act on clear call-to-action buttons to get in touch, and on the Contact page they can submit a customer inquiry/contact form with their contact details. Business information and contact details (phone, hours, license/insured status, address) are presented plainly and are never buried below the fold.
Protected surface (business owner only). The business owner / site administrator signs in through the Login page and then maintains the site's authoritative content in two focused working areas: Business Settings (business information and contact details) and Service Management (plumbing service descriptions and service-area information). These protected pages are role-restricted to the signed-in administrator.
Inquiry handling. A submitted customer inquiry is handled by the backend so it reaches the business owner; the customer sees an observable confirmation that their inquiry was received.
Actors. Two accepted human personas: the Prospective Customer and the Business Owner / Site Administrator. The backend inquiry-handling process is a system actor, not a persona.
Exclusions. No complex or unrelated features are added. The site does not include scheduling/booking engines, payments, customer accounts, e-commerce, chat, or any capability beyond a professional plumbing business website and the requirements above.
The website is first-party and application-owned. Public pages are openly reachable by anyone; the administrative pages require the business owner to establish and then verify their own identity, because the business information, contact details, service descriptions, and service-area information are durable, authoritative content that must remain bound to the correct owner and be resumable across visits.
The anonymous entry boundary is the Login page, which is reachable without being signed in and which owns the interaction that establishes access to the protected pages. The protected pages (Business Settings, Service Management) never own the interaction that grants access to themselves.
Customer inquiries are delivered to the business owner through backend handling; the customer's own interaction (filling and submitting the form) and its observable confirmation remain on the Contact page.
Everything described in this document is current. No future-horizon capabilities are defined.
Not applicable. No reference directive with content_source authority was supplied, so no verified factual inventory is reproduced here. Business-specific facts (phone number, address, license number, service towns, ZIP codes, response windows) are supplied and maintained by the business owner through Business Settings and Service Management rather than invented in this document.
FR-1 — Professional, modern website design (explicit) As a Prospective Customer, I should see a professional, modern design so that I trust this business with my plumbing work.
FR-2 — Responsive experience across desktop, tablet, and mobile (explicit) As a Prospective Customer, I should get a usable experience on desktop, tablet, and mobile so that I can reach the business from whatever device I have at hand.
FR-3 — Clear and simple navigation (explicit) As a Prospective Customer, I should be able to navigate the site simply so that I can find what I need without effort.
FR-4 — Homepage introducing the plumbing business (explicit) As a Prospective Customer, I should see a homepage that introduces the plumbing business so that I immediately understand who they are and what they do.
FR-5 — About page (explicit) As a Prospective Customer, I should read an About page so that I can judge whether this business is credible and right for me.
FR-6 — Plumbing services page (explicit) As a Prospective Customer, I should see the plumbing services offered so that I know whether they handle my problem.
FR-7 — Service area/location information (explicit) As a Prospective Customer, I should see the service area and location information so that I know whether the business serves my location.
FR-8 — Contact page (explicit) As a Prospective Customer, I should reach a Contact page so that I can find the business's contact details and get in touch.
FR-9 — Customer inquiry/contact form (explicit) As a Prospective Customer, I should submit an inquiry through the contact form so that the business can respond to my request.
FR-10 — Clear call-to-action buttons for customers to get in touch (explicit) As a Prospective Customer, I should see clear call-to-action buttons so that getting in touch is obvious and immediate.
FR-11 — Business information and contact details (explicit) As a Prospective Customer, I should see the business's information and contact details so that I can identify and reach the business with confidence.
FR-12 — User-friendly layout and experience (explicit) As a Prospective Customer, I should find the layout easy to use so that I can complete what I came to do without confusion.
FR-13 — Website setup and complete functional implementation (explicit) As a Business Owner / Site Administrator, I should have a fully set-up, functional website so that the site works end to end without missing pieces.
FR-14 — Structure that supports the business's online visibility (explicit) As a Business Owner / Site Administrator, I should have a site structure that supports online visibility so that prospective customers can find the business.
FR-15 — Focused scope (explicit) As a Business Owner / Site Administrator, I should have a site limited to a professional plumbing business website and the stated requirements so that it stays practical and easy to use.
FR-16 — First-use enrollment for the business owner (required_inference) As a Business Owner / Site Administrator, I should establish my identity on first use so that I can administer the site's content.
FR-17 — Returning verification for the business owner (required_inference) As a Business Owner / Site Administrator, I should verify my identity on return so that I can resume administering the site's content.
FR-18 — Maintain business information and contact details (required_inference) As a Business Owner / Site Administrator, I should maintain the business information and contact details so that the public pages show accurate, current facts.
FR-19 — Maintain service descriptions and service-area information (required_inference) As a Business Owner / Site Administrator, I should maintain the plumbing service descriptions and service-area information so that prospective customers see what is offered and where.
FR-20 — Backend handling of customer inquiries (required_inference) As a Business Owner / Site Administrator, I should have submitted customer inquiries handled by the backend so that inquiries reach me.
Product context. A homeowner or property owner in the United States who needs plumbing help — a burst pipe, no hot water, a blocked main, or a quote to compare — and who is evaluating this business. They may be in a hurry and holding a phone in one hand next to a leaking sink, or calmly comparing quotes as a property manager.
Primary goal. Understand what the business offers and whether it serves their location, then get in touch easily to request service.
Distinct accepted responsibilities. They browse the Homepage, About page, Plumbing services page, and Service area/location information to judge the business; they check whether their ZIP code is covered; they act on the call-to-action buttons; and they submit the customer inquiry/contact form with their contact details.
Relevant inputs or decisions. Their location (ZIP code) and whether it is covered; which service matches their problem; whether the business looks licensed, insured, and local; whether to submit the form or call.
Interactions with other accepted participants. Their inquiry is delivered to the Business Owner / Site Administrator, who follows up. They never interact with the protected administrative pages.
Observable success. They understand the business, confirm coverage, and see a confirmation that their inquiry was received — or reach the business by phone.
Product context. The plumbing business operator responsible for the website's business information and contact details, service descriptions, and service area/location information. They are not a developer; they need a focused place to keep the site current.
Primary goal. Keep accurate, professional content across the Homepage, About, Services, Service Area, and Contact pages so the site supports the business's online visibility and generates customer inquiries.
Distinct accepted responsibilities. They establish their identity on first use and verify it on return; they maintain business information and contact details in Business Settings; they maintain plumbing service descriptions and service-area information in Service Management; and they receive and follow up on customer inquiries.
Relevant inputs or decisions. The business's phone number, hours, address, license/insured status, and service region; the service list with descriptions, response windows, and categories; the served towns and ZIP codes; what to publish and when.
Interactions with other accepted participants. They receive inquiries submitted by Prospective Customers and respond to them. They are the only persona with access to the protected pages.
Observable success. The public pages show the current business information, services, and service areas, and inquiries arrive for follow-up.
The creative direction is authoritative for this section. The muse is Erik Spiekermann, and the headline idea is typographic infrastructure for a trade that keeps water moving: the site behaves like a municipal service map rather than a generic contractor template — strong weight hierarchy instead of decoration, a real service-area diagram, coded service categories, and Fira Sans, which stays warm and highly legible at 375px on a phone held in one hand next to a leaking sink.
Colour tokens (light mode)
| Role | Hex | Use |
|---|---|---|
| Background | #F7F4EE | Warm paper ground |
| Surface | #FFFFFF | True white panels so form fields and service cards sit like printed cards on a noticeboard |
| Text | #1C1B19 | All body copy and headings |
| Primary | #0F4C81 | Deep municipal blue: navigation, section rules, the service-area diagram, secondary buttons — never a gradient |
| Accent | #E4572E | Emergency signal: 24/7 call button, "we're on the way", active service-zone marker, required-field marks — roughly 5% of the page |
| Muted | #6E6A62 | Metadata, captions, labels, numbered step annotations |
| Verified green | #2F7D4F | Verified/insured/licensed badges |
| Signal yellow | #E8B21C | Review stars and "same-day" tags |
Signal colours are borrowed from wayfinding logic and used as codes, not decoration: blue = service/navigation, orange = urgent action, green = verified/insured/licensed, yellow = review stars and same-day tags.
Typography
Shape language. Rectilinear and honest: 4px and 8px radii on buttons, inputs, and cards — no pills, no blobs. Hard 1px and 2px rules do the structural work (section dividers, table rows, diagram borders). Chunky 3px left-edge colour bars code service categories. Buttons are rectangular with a solid fill and a 2px bottom edge in a darker shade so they read as physical controls. Pictograms are drawn on a 24px grid with 2px strokes, matching the type weight.
Layout. A 12-column grid with a persistent left rail of numbered section markers (01 Services, 02 Service Area, 03 About, 04 Contact) that doubles as the desktop navigation anchor. Full-width horizontal rules separate every section like a printed timetable. The services page is a ruled table: service name, plain-language description, typical response window, and a colour-coded category bar — dense but ordered, not a grid of identical hover-lift cards. The service area page is a wayfinding diagram: a schematic map of towns with numbered markers and a matching numbered list beside it, plus ZIP-code lookup. The Contact page is a two-column form with label-above fields, aligned label/value pairs, and a sticky "Call now" bar on mobile.
Imagery. Documentary and diagrammatic, never stock-smiling-technician. Real photography of hands, tools, copper and PEX pipe, a van door, a water heater in a basement — shot in available light, slightly cool, unposed. Overlaid with thin blue annotation lines and 12px uppercase labels ("main shutoff", "½in copper", "T&P valve") turning each photo into a labelled diagram. A schematic service-area map drawn in the same 2px stroke language as the pictograms. Pictograms for each service (drain, water heater, leak, sump, repipe, gas line). No gradient blobs, no 3D renders, no illustrations for their own sake.
Avoid. Centred hero with headline, subhead and one blue button over a gradient blob; a grid of identical rounded cards with hover-lift shadows for services; Inter, Roboto, Arial, Helvetica, Poppins or system-ui for any heading or body text; blue-on-white bootstrap styling with no signal-colour coding and no rules; stock photography of smiling technicians pointing at a wrench with folded arms; pill-shaped buttons, glassmorphism, soft neumorphic shadows, blurred gradient panels; decorative animation, parallax, particle effects or 3D scenes; copy that buries the phone number, license number or service hours below the fold.
Readable text and controls stay whole at every viewport: headlines, wordmarks, labels, numbers, cards' text and controls stay entirely inside the viewport and their container at 375px, 768px, and 1280px, wrapping or scaling (for example font-size: clamp(...) with its mobile size) to fit, and no other element covers any part of them. Imagery and decoration may be cropped, bled off an edge, rotated, overlapped, or cut exactly as the direction asks, as long as they cover no readable text or control.
The public entry is an asymmetric split hero, not a centred stack.
#F7F4EE): a small uppercase orange label — LICENSED · INSURED · SERVING CENTRAL IOWA SINCE 1998 — then an oversized Fira Sans Condensed 800 headline at clamp(44px, 8vw, 76px) stacked in three tight lines that fill the column edge-to-edge: "WATER WHERE / YOU NEED IT. / WHEN YOU NEED IT." Beneath it, a one-sentence plain-language promise, then a horizontal pair of rectangular controls: a solid deep-blue #0F4C81 "Request service" button and an outlined "Call (515) 555-0142" button with the number in tabular figures.No gradient, no floating card, no centred headline-plus-blue-button composition. The concept recomposes only accepted content, states, and controls — the business introduction, the trust signals, the contact details, the call-to-action buttons, and the documentary annotated imagery.
Interaction Model: Static Motion Tempo: restrained Hero Dimensionality: flat
Landing Hero Motion Brief
prefers-reduced-motion disables the diagram draw, the counters, and all reveals, leaving the static diagram and full content — every label, number, and control remains readable and operable.NFR-1 — Responsive layout (explicit) The site must render a usable, complete experience at 375px, 768px, and 1280px. Rationale: the source requires a responsive experience across desktop, tablet, and mobile.
NFR-2 — Readable text and controls stay whole (explicit, from the creative direction) Headlines, wordmarks, labels, numbers, cards' text, and controls must stay entirely inside the viewport and their container at every supported width, wrapping or scaling to fit, and no other element may cover any part of them. Imagery and decoration may be cropped or bled off an edge. Rationale: legibility is the product's trust mechanism.
NFR-3 — Professional, modern presentation (explicit) The design must read as professional and modern, with consistent typography, rules, and signal-colour coding across every page. Rationale: the source requires a professional and modern website design.
NFR-4 — Simple, consistent navigation (explicit) Every public page must be reachable from every other public page through clear, simple navigation. Rationale: the source requires clear and simple navigation.
NFR-5 — Inquiry delivery (required_inference) Submitted customer inquiries must be handled by the backend so they reach the business owner, and the customer must receive an observable confirmation. Rationale: the source requires a customer inquiry/contact form focused on generating customer inquiries.
NFR-6 — Content accuracy (required_inference) Business information, contact details, service descriptions, and service-area information shown on public pages must reflect the values the business owner has saved. Rationale: the source requires business information and contact details and a structure that supports the business's online visibility.
NFR-7 — Protected administrative access (required_inference) Business Settings and Service Management must be reachable only after the business owner's identity is established and verified; no protected content may be revealed before verification succeeds. Rationale: durable, authoritative content must remain bound to the correct owner.
NFR-8 — Reduced-motion support (from the creative direction)
prefers-reduced-motion must disable the diagram draw, the counters, and all reveals, leaving a usable static arrangement with full content. Rationale: the direction specifies this behavior.
NFR-9 — Focused scope (explicit) The site must not include complex or unrelated features; it must remain a professional plumbing business website and the requirements above. Rationale: explicit hard constraint in the source.
NFR-10 — United States business context (explicit) The business is based in the United States; contact details, service areas, and content must reflect that context. Rationale: explicit hard constraint in the source.
No source-specified technology was overridden; the stack above is the practical minimum for the accepted behavior.
Assumptions
Constraints

LICENSED · INSURED · SERVING CENTRAL IOWA SINCE 1998
A licensed, insured local crew that answers the phone, arrives when promised and quotes plainly — so a burst pipe, a dead water heater or a blocked main gets fixed by people who know Central Iowa plumbing.
Blocked mains, slow drains and camera-verified sewer lines.
No hot water, tank and tankless replacement, T&P valve checks.
Hidden leaks traced and repaired before they reach the drywall.
Sump pumps, backwater valves and wet-basement drainage.
Copper and PEX repipes, fixture swaps, shutoff replacement.
Gas line runs, leak checks and appliance connections.
Six towns across Central Iowa, drawn the way we route them. Each numbered marker on the schematic matches the numbered list of town and ZIP codes beside it.
04Get in touch
A licensed, insured crew serving Central Iowa since 1998. Call for emergencies or request service and we will confirm a window before we roll a van.
Start here
Request serviceCall(515) 555-0142Prefer to write it down? Open the contact form and we will reply with scheduling options.

LICENSED · INSURED · SERVING CENTRAL IOWA SINCE 1998
A licensed, insured local crew that answers the phone, arrives when promised and quotes plainly — so a burst pipe, a dead water heater or a blocked main gets fixed by people who know Central Iowa plumbing.
Blocked mains, slow drains and camera-verified sewer lines.
No hot water, tank and tankless replacement, T&P valve checks.
Hidden leaks traced and repaired before they reach the drywall.
Sump pumps, backwater valves and wet-basement drainage.
Copper and PEX repipes, fixture swaps, shutoff replacement.
Gas line runs, leak checks and appliance connections.
Six towns across Central Iowa, drawn the way we route them. Each numbered marker on the schematic matches the numbered list of town and ZIP codes beside it.
04Get in touch
A licensed, insured crew serving Central Iowa since 1998. Call for emergencies or request service and we will confirm a window before we roll a van.
Start here
Request serviceCall(515) 555-0142Prefer to write it down? Open the contact form and we will reply with scheduling options.
No comments yet. Be the first!