75 lines
3.9 KiB
Markdown
75 lines
3.9 KiB
Markdown
# Requirements — Diana Website (v1)
|
||
|
||
## Stakeholders
|
||
- **S1 — Prospective customers**: homeowners/property managers seeking repair/maintenance/renovation work.
|
||
- **S2 — Diana**: needs qualified inquiries, wants accurate representation, wants credibility and differentiation.
|
||
- **S3 — Search engines**: require indexable content, clear structure, performance, metadata.
|
||
|
||
## Functional requirements
|
||
|
||
### Lead capture (primary)
|
||
- **FR-1**: The site must provide a **Request a Quote / Contact** form accessible within 1–2 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).
|
||
|
||
### 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).
|
||
|
||
### 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).
|
||
|
||
## 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.
|
||
|
||
### 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`).
|
||
|
||
### Performance
|
||
- **NFR-6**: Pages must load quickly on mobile networks; images must be optimized and appropriately sized.
|
||
|
||
### Maintainability
|
||
- **NFR-7**: The solution should be low-maintenance and suitable for infrequent updates by you.
|
||
|
||
## 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-3**: No blog, booking/calendar, or payments in v1.
|
||
|
||
## Acceptance criteria (v1)
|
||
- **AC-1**: A visitor can reach a quote request form from any page in 1–2 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-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.
|
||
|
||
## Traceability notes
|
||
- Lead capture specs → `38-lead-capture-spec.md`
|
||
- Frontend UX and page layout → `33-frontend-spec.md`
|
||
- SEO structure and metadata/schema → `37-seo-content-spec.md`
|