# GH Scout Report Photo Unlock — Brady-action SOP (S83-H182-C)

**Filed:** 2026-05-04. **Owner:** Brady. **Goal:** AirDrop 5-10 GH-LS-001 photos to Mac → run one CLI command → unlock the $250 Scout Report case study page → first paid GH product can land.

**Time required:** ~10 minutes

## What's already wired (no code work needed)

- ✅ Scout Report Stripe payment link live: `buy.stripe.com/aFacMYgcRae7eUud0Kb7y0q` ($250)
- ✅ Case study landing page exists at `/case-studies/land-scout-001/` (built by `~/builders/build_gh_case_study_land_scout.py`)
- ✅ Page has placeholder media blocks awaiting real photos (currently render gray cards with "[photo placeholder]" copy)
- ✅ Photo upload CLI exists: `~/builders/bin/photo_ingest.py`
- ✅ R2 bucket convention: `grovehouse/case-studies/land-scout-001/<slug>.webp`

## What Brady needs to do (Phase 1 — 10 min)

### Step 1 — AirDrop photos from phone to Mac

Pick **5-10 photos** from the Nov 8 GH-LS-001 land scout. Required mix:
- **2-3 wide landscape shots** (the property in context)
- **2-3 specific feature shots** (water, soil, access road, structures, problem areas)
- **1-2 close-up texture shots** (rock, dirt, plants, infrastructure detail)
- **Optional:** 1 "before-and-after-vision" shot if you have one

**Specs (all auto-converted by the CLI):**
- Source format: HEIC, JPG, PNG all fine — `photo_ingest.py` converts to WebP via macOS `sips`
- Resolution: any (gets resized to web-appropriate sizes)
- Filenames: rename to descriptive slugs **before** AirDrop, e.g.:
  - `01-property-wide-overview.heic`
  - `02-water-feature-spring.heic`
  - `03-access-road-condition.heic`
  - etc.

AirDrop them to a folder like `~/Desktop/gh-ls-001-photos/`.

### Step 2 — Run the ingest CLI

```bash
cd ~/builders
python3 bin/photo_ingest.py ~/Desktop/gh-ls-001-photos \
  --upload \
  --register
```

What this does:
- Scans the folder for HEIC/JPG/PNG
- Converts each to `.webp` via `sips` (zero-deps macOS tool)
- Uploads each to R2 at `grovehouse/case-studies/land-scout-001/<filename>.webp`
- Writes a manifest CSV at `~/docs/ecosystem/asset_manifests/photo_ingest_2026-05-04.csv`
- (with `--register`) appends rows to Holdings `Asset_Catalog` Airtable

Watch stdout — it'll print each upload as it goes. Should take ~1-2 minutes for 10 photos.

### Step 3 — Update the case study page builder

Open `~/builders/build_gh_case_study_land_scout.py`. Find the `placeholder` media blocks (around lines 65-95) and replace with real R2 URLs.

Pattern (existing in file):
```python
def render_media_block(slot, alt, caption):
    """Render a media block — either real photo or placeholder card."""
    # Replace this with a dict mapping slot → R2 URL
```

Or if you want the lowest-friction path, **email me the photo manifest CSV** + I'll wire the URLs into the builder in a 5-minute session.

### Step 4 — Rebuild + deploy

```bash
cd ~/builders
python3 build_gh_case_study_land_scout.py
npx wrangler pages deploy /tmp/gh-build/ --project-name=grovehouseland --branch=main
```

Verify at `https://grovehouseland.com/case-studies/land-scout-001/` — the placeholder cards should now show real photos.

## Verification

- [ ] Photos uploaded to R2 (visible at `https://pub-ffdd6924be764a8c86899a937394fd1b.r2.dev/grovehouse/case-studies/land-scout-001/<filename>.webp`)
- [ ] Manifest CSV written to `~/docs/ecosystem/asset_manifests/photo_ingest_2026-05-04.csv`
- [ ] Asset_Catalog Airtable has new rows (if `--register` flag used)
- [ ] `/case-studies/land-scout-001/` page renders real photos (no gray placeholder cards)
- [ ] Buy button still points to `buy.stripe.com/aFacMYgcRae7eUud0Kb7y0q`

## Why this matters

The GH Scout Report ($250) is the highest-immediate-revenue unblock in the ecosystem. The page is fully wired — only photos block publication. Once real photos render, the case study becomes shareable proof for the buy-now CTA. Brady can then push it via:
- `/admin/brady/` Send-Now blast section (target: warm contacts who asked about Scout)
- LinkedIn napkin post (per existing kit pattern)
- GH home page already cross-links case study

**Conservative estimate:** 1 paid Scout Report = $250. With photos shipped, ~30 days to first paid scout based on existing /admin/brady/ Active Funnel widget showing GH inquiries.

## Failure modes

| Symptom | Fix |
|---|---|
| `sips: command not found` | macOS only — confirm running on Mac (sips is built-in) |
| `wrangler r2 object put` fails | Re-run `npx wrangler login` first |
| Photo upload succeeds but page still shows placeholder | Builder needs URL update — Step 3 |
| Photos look blurry on /case-studies/ page | Source resolution too low — re-AirDrop higher-res originals |

## Phase 2 (optional, deferred)

Once first photo set is up:
- Add LinkedIn share kit specific to GH-LS-001 (use H156 share-block helper)
- Build "before/after" carousel if Brady has both Nov 8 + return-visit photos
- Email blast to warm GH contacts with case study URL

---

_Filed S83-H182-C (2026-05-04 by CC). Brady runs Steps 1-4. Total elapsed: ~10 min after photos are AirDropped. Unlocks the highest-immediate-revenue product in the ecosystem._
