2.2 KiB
2.2 KiB
Diana Website — Specification Overview (v1)
Purpose
Build a mobile-first, SEO-friendly, static website for Diana (handywoman) that primarily converts visitors into qualified quote requests.
This document is the navigation map for the specification set.
Goals
- Generate qualified leads via a lightweight quote/contact form.
- Communicate Diana’s differentiation: trustworthy, easy to work with, female handyman/handywoman, strong project coordination/mediation skills.
- SEO-first information architecture: separate service pages with clear local relevance (San Francisco + 50-mile radius).
- Fast, mobile-first UX (Core Web Vitals friendly, readable, tap-target safe).
Non-goals / Out of scope (v1)
- Blog
- Booking / calendar scheduling
- Payments
- Deployment/infrastructure work beyond “static site served behind Caddy reverse proxy”
Key constraints
- Language: English.
- Site type: static website.
- Content updates expected to be infrequent (maintained by owner/you).
- Form should be lightweight (no file uploads in v1).
Primary user flows
- Visitor lands on Home page → scans credibility/services → taps Request a Quote → submits form.
- Visitor lands on a Service page (SEO) → sees what’s included + service area + CTA → submits form.
- Visitor checks About / Testimonials for trust → CTA → submits form.
Intended information architecture (high level)
- Home
- Services (hub)
- Service detail pages (one per service)
- About Diana
- Testimonials
- Contact / Request a Quote
Specification documents
Core specs (Phase 2)
00-overview.md(this file)01-requirements.md02-architecture-decisions.md99-open-questions.md
Themed specs (Phase 3 — planned)
33-frontend-spec.md— pages, components, UX, mobile-first design, conversion flow37-seo-content-spec.md— page structure, metadata, schema.org, sitemap/robots, content requirements per page38-lead-capture-spec.md— form fields, validation, spam protection, delivery/routing, confirmation UX
(If a themed spec requires an architectural decision, it will be captured in 02-architecture-decisions.md. If uncertainty remains, it will be captured in 99-open-questions.md.)