Resolve open questions; update all core specs

This commit is contained in:
Tom Roth
2026-07-31 07:17:00 +02:00
parent 6bd990e4a0
commit 1a6f9fc509
4 changed files with 170 additions and 107 deletions

View File

@@ -9,64 +9,84 @@
### Lead capture (primary)
- **FR-1**: The site must provide a **Request a Quote / Contact** form accessible within 12 taps from any page (persistent CTA).
- **FR-2**: The form must be **lightweight** (no file upload requirement in v1).
- **FR-3**: The form must collect enough info to support **qualified leads**.
- Minimum fields TBD in `38-lead-capture-spec.md`.
- **FR-4**: After submission, the user must see a **clear confirmation** (and guidance on next steps).
- **FR-2**: The form must be **lightweight** (no file upload in v1).
- **FR-3**: The form must collect the following fields to support **qualified leads**:
- **Name** (required)
- **Address** (service location, required)
- **Phone** (required)
- **Email** (required)
- **Description** (description of work requested, required)
- **FR-4**: After submission, the user must see a **clear confirmation** and guidance on next steps (e.g., Diana will follow up within N days).
- **FR-5**: Form submissions are delivered via an **existing AWS service** (endpoint TBD — see ADR-002, OQ-3).
### Contact channels
- **FR-6**: The site must prominently expose:
- **Primary**: quote request form
- **Secondary**: email address
- **Secondary**: phone number
- **FR-7**: Both secondary channels must appear in the site **header/footer** and in the **post-submission confirmation** copy.
### Content & pages
- **FR-5**: The site must be **English-only**.
- **FR-6**: The site must clearly state the **service area: San Francisco + 50 mile radius**.
- **FR-7**: The site must include a **Services hub page**.
- **FR-8**: The site must include **one page per service** (SEO-driven).
- Services list (current):
- Security & Safety Equipment
- Tile Setting
- Drywall / Sheetrocking
- Painting
- Minor Plumbing
- Minor Electrical
- Carpentry
- Mounting
- Flooring touch-ups
- Boat work
- **FR-9**: The site must include an **About Diana** page highlighting credibility, experience, and project coordination.
- **FR-10**: The site must include a **Testimonials** page using existing testimonial content as a base (source: https://spotlighthis.com/testimonials/).
- **FR-11**: The site must include a **Contact** page (may be the same as Request a Quote).
- **FR-8**: The site must be **English-only**.
- **FR-9**: The site must clearly state the **service area: San Francisco + 50 mile radius**.
- **FR-10**: The site must include a **Services hub page** (`/services/`).
- **FR-11**: The site must include **service detail pages**, grouped for SEO as follows:
| Page | URL slug |
|------|----------|
| Painting | `/services/painting/` |
| Tile Setting | `/services/tile-setting/` |
| Drywall & Sheetrocking | `/services/drywall/` |
| Minor Plumbing | `/services/plumbing/` |
| Minor Electrical | `/services/electrical/` |
| Carpentry & Mounting | `/services/carpentry-and-mounting/` |
| Flooring & Wood Refinishing | `/services/flooring/` |
| Security & Safety Equipment | `/services/security-safety/` |
| Boat Work | `/services/boat-work/` |
- **FR-12**: The site must include an **About Diana** page highlighting credibility, experience, and project coordination background.
- **FR-13**: The site must include a **Testimonials** page using existing testimonial content (source: https://spotlighthis.com/testimonials/).
- **FR-14**: The site must include a **Contact / Request a Quote** page (`/contact/`).
### Differentiation / brand messaging
- **FR-12**: The site must explicitly lean into “**female handyman/handywoman**” positioning.
- **FR-13**: The site must highlight Diana as **trustworthy, easy to work with**, and skilled at **project coordination/mediation**.
- **FR-14**: The site must incorporate proof points (e.g., **years of experience**, project coordination background).
- **FR-15**: Brand name: **"Home Enhancement and Renovation — HER"** (short-form: **HER**).
- **FR-16**: The site must explicitly lean into "**female handyman/handywoman**" positioning.
- **FR-17**: The site must highlight Diana as **trustworthy, easy to work with**, and skilled at **project coordination/mediation** between homeowners and construction crews.
- **FR-18**: The site must incorporate key proof points: **years of experience** and **project coordination background** (aerospace team lead).
## Non-functional requirements
### Mobile-first UX
- **NFR-1**: The site must be designed **mobile-first**, with readable typography and touch-friendly controls.
- **NFR-2**: The quote/contact CTA must be prominent and accessible on mobile.
- **NFR-2**: The quote/contact CTA must be prominent and easily accessible on mobile.
### SEO
- **NFR-3**: The site must be **indexable** (server-rendered/static HTML; no content hidden behind client-only rendering).
- **NFR-4**: Each service page must have unique, descriptive metadata (title/description) and content targeting that service.
- **NFR-5**: The site must have sitemap and robots configuration (details in `37-seo-content-spec.md`).
- **NFR-3**: The site must be **indexable** (static/server-rendered HTML; no content hidden behind client-only rendering).
- **NFR-4**: Each service page must have unique, descriptive metadata (title/description) targeting that service and location.
- **NFR-5**: The site must include a sitemap and robots.txt (details in `37-seo-content-spec.md`).
### Performance
- **NFR-6**: Pages must load quickly on mobile networks; images must be optimized and appropriately sized.
### Privacy / tracking
- **NFR-7**: **No analytics, tracking scripts, or cookie consent banner** in v1. No privacy policy page required at launch.
### Maintainability
- **NFR-7**: The solution should be low-maintenance and suitable for infrequent updates by you.
- **NFR-8**: The solution should be low-maintenance and suitable for infrequent updates by the owner.
## Constraints / scope boundaries
- **C-1**: Site must be a **static website**.
- **C-2**: Deployment/infrastructure is **out of scope** for v1 beyond the assumption it will be served behind **Caddy reverse proxy**.
- **C-2**: Deployment/infrastructure is **out of scope** beyond the assumption it will be served behind **Caddy reverse proxy**.
- **C-3**: No blog, booking/calendar, or payments in v1.
- **C-4**: No file uploads on the contact form in v1.
## Acceptance criteria (v1)
- **AC-1**: A visitor can reach a quote request form from any page in 12 taps.
- **AC-2**: Service pages exist for each service in FR-8, and each has a clear CTA.
- **AC-3**: The site clearly states service area and core positioning.
- **AC-1**: A visitor can reach the quote request form from any page in 12 taps.
- **AC-2**: Service pages exist for each group in FR-11, each with a clear CTA and unique content.
- **AC-3**: The site clearly states service area and core brand positioning (HER).
- **AC-4**: The site is usable on mobile (no horizontal scroll, readable text, accessible tap targets).
- **AC-5**: The site is SEO-ready: indexable pages, unique metadata per service page, sitemap/robots present.
- **AC-6**: Secondary contact channels (email, phone) are visible in header/footer and post-form confirmation.
## Traceability notes
- Lead capture specs → `38-lead-capture-spec.md`