Read these three files IN FULL before writing any code:
_docs/STORYBOARD.md — what to build (pages, brand, mascot, content)
_docs/INTERNAL-STRATEGY-NOTES.md — why (research, economics, competitor intel)
Vivere Clients\CLAUDE.md — Vivere shared rules
Ground rules (non-negotiable)
- Review gate: show Joe the work (staging link or local preview) and get explicit approval BEFORE every commit and every deploy to a new environment. "Go ahead" unlocks the current block only.
- Workflow: local build → staging (
proscape-staging.pages.dev) → live (client domain) only when Joe says so. Never deploy straight to production.
- Reference existing Vivere builds for framework patterns and quality bar:
Top it off Smoothie Cafe and Mimis Sweet Treats (both recent Master Framework builds). Match their conventions: vanilla HTML/CSS/JS, no frameworks, no build step, scroll-reveal animations, schema in every page head.
- Use Haiku subagents for mechanical work (deploys, file ops, image conversion batches); keep design/content decisions in the main session.
- Placeholder policy: any content awaiting client input gets
<!-- TODO(client): ... --> and a visible-but-tasteful placeholder. Keep a running list in _docs/PLACEHOLDERS.md.
- All temp/scratch files go to the session scratchpad, never the project folder.
Folder layout (create at Phase 1 start)
Proscapeco/
index.html services.html about.html reviews.html contact.html
delta.html montrose.html olathe.html cedaredge.html
holiday-lighting.html spring-cleanup.html aeration.html (Phase 3)
404.html privacy-policy.html robots.txt sitemap.xml
styles.css script.js
config/seasonal.json # header-ribbon + seasonal card config
assets/ # webp images, mascot pngs, favicon set
forms/ # form handler config
data/reviews.json # review wall source
reports/quote-report/ # (exists — deployed client report, don't touch)
_docs/ # (exists — strategy docs, this file)
social/ # content program output (cards, scripts, clips)
Phase 0 — Kickoff inputs (BLOCKING)
Work through Storyboard §6 open questions with Joe before Phase 1. Minimum to start: logo decision, mascot pick, photo set (or approval to build with placeholders), confirmation of claims (est. year, licensed/insured). If Joe says "build with placeholders," proceed and log every placeholder.
Phase 1 — Foundation site
- Scaffold folder layout; port framework boilerplate from TIO/Mimi's (nav, footer, scroll-reveal, seasonal ribbon reading
config/seasonal.json).
- Build pages in this order: index → services → contact (+ quote form v1) → about → reviews → 4 town pages → utility pages. Follow Storyboard §3 section-by-section; don't invent new sections without flagging.
- Quote form v1 = multi-step per Storyboard §4, submitting via the same form backend pattern as the reference builds (check Mimi's/TIO
forms/ for the working pattern; if none fits, propose one to Joe — do not silently pick a new vendor).
- SEO layer on every page: unique title/description, canonical, OG/Twitter, LocalBusiness schema (name "ProScape Lawn Care" — NAP must exactly match the GBP once confirmed; this is the name-collision defense), Service schema on services, Review schema on reviews page, areaServed on town pages.
- Images: everything webp, explicit width/height, lazy-load below fold, hero preloaded.
- Accessibility: skip link, focus states, aria on nav/accordion/slider, contrast-check the rose (#b05a72) on cream — bump darkness if it fails AA at text sizes.
- Acceptance criteria before showing Joe: Lighthouse ≥90 all four categories (mobile), loads <2s on simulated 4G, every nav link works, form submits end-to-end, valid schema, zero console errors, looks right at 375px / 768px / 1440px.
- Review gate → then create CF Pages project
proscape-staging, deploy, send Joe the link.
Phase 2 — Booking & client layer (after Phase 1 approved + rate card received)
- Instant ballpark quote: extend the form — after size/frequency selection show "typically $X–$Y per visit" from a rates table in
config/rates.json (client's real numbers). No satellite API in v1; keep it a static tier table.
- Online booking for one-time services: calendar-slot request (not hard booking) — client confirms by text. Keep it simple; this is a 2-person company.
- Lead enrichment: every submission appended with town/size/service/source; set up the notification + storage flow (email first; discuss anything heavier with Joe).
- Seasonal outreach templates (email/SMS copy) for blowouts, lights, aeration windows.
- Same acceptance criteria + review gate + staging deploy.
Phase 3 — Growth layer
Seasonal landing pages per storyboard, GA4 with form-conversion events, content hub page for tip cards. Review gate, staging, then discuss live cutover (domain move from Webador — needs registrar access; coordinate DNS with Joe, don't touch DNS yourself).
Content program (parallel track, starts after mascot approval)
- Mascot kit per Storyboard §2 — build with the PIL card pipeline (Rowdy kit is the model, see GVEC media channel patterns). Deliver character sheet for Joe's + client's approval BEFORE batch production.
- Batch-produce the spring/summer card sets first (it's July — "Surviving July" set is immediately postable), then fall set by September (lights early-bird cards).
- Script + shot-list the three launch shorts (Storyboard §5) — client films on phone; we edit (ffmpeg pipeline per technique library).
- Blotato scheduling once client accounts are connected — list accounts first, never post without Joe's explicit go per post batch.
- Output convention:
social/cards/<season>/, social/scripts/, social/clips/.
Deploy commands
# staging (create once)
npx wrangler pages project create proscape-staging --production-branch=main
cd "C:\Users\sutli\Desktop\Developer\Vivere Clients\Proscapeco"
npx wrangler pages deploy . --project-name proscape-staging --branch=main --commit-dirty=true
Exclude from site deploys: _docs/, social/, reports/ (the report has its own project: proscape-quote-report). Deploy from a clean dist/ copy or maintain the exclusion list in the deploy script — verify nothing internal ships; the strategy docs must NEVER reach a public URL via the site project.
Definition of done (Phase 1)
- All Phase-1 pages live on staging, approved by Joe
- Lighthouse ≥90 ×4 (mobile) on index, services, one town page
- Quote form delivers a test lead end-to-end
- Schema validates; NAP consistent everywhere
- PLACEHOLDERS.md lists every open content item
- Git: repo initialized in Proscapeco (or per Joe's umbrella-repo preference — ASK), committed with Joe's approval, conventional commit messages
feat(proscape): ...