# Visual Research Methodology

**Owner:** Jessica (Art Direction)  
**Purpose:** Transform brand strategy into actionable visual directions with curated reference boards.

---

## The Process

### Phase 1: Extract Positioning DNA

Before any visual search, extract the brand's positioning intelligence:

```
From brand strategy, identify:
1. positioning_strategy — HOW they differentiate (e.g., accessibility-democratization, rebellion-challenger)
2. market_contrast — WHO they're positioned against (e.g., vs-pacification-paradigm)
3. positioned_against — Specific competitors by name
4. affinity_keywords — Searchable terms (e.g., capable, confident, elevated)
5. The Test Question — One question to filter every reference (e.g., "Does this treat the child as CAPABLE or FRAGILE?")
```

**Output:** Positioning brief (1 page max)

---

### Phase 2: Define Visual Search Vectors

Translate positioning into visual search vectors:

| Positioning Element | Visual Search Vector |
|---------------------|---------------------|
| Strategy: rebellion-challenger | Bold typography, hand-drawn, irreverent brands |
| Strategy: quality-elevation | Premium materials, craft, elevated aesthetics |
| Strategy: accessibility-democratization | Clean UI, approachable, not intimidating |
| Contrast: vs-legacy-incumbents | Challenger brands in same/adjacent categories |
| Contrast: vs-mass-market-generic | Premium alternatives to commodity products |

**For each vector, identify 5-10 brands to capture.**

---

### Phase 3: Capture References

Use the visual research tools:

```bash
# Screenshot brands — PREFERRED: Use Pinchtab (free, unlimited, handles JS-rendered sites)
# Start server if not running: nohup pinchtab --headless > /tmp/pinchtab.log 2>&1 &
pinchtab nav "https://example.com"
sleep 3
pinchtab ss -o output.png           # screenshot
pinchtab text > output.txt          # readable text (800 tokens vs 10K for screenshots)

# For bulk scraping / sites that block bots: Scrapling (774x faster than BeautifulSoup, Cloudflare bypass)
python3 scripts/scrape.py "https://example.com" --stealth        # text with anti-bot bypass
python3 scripts/scrape.py "https://example.com" --links          # all links
python3 scripts/scrape.py "https://example.com" --css "h1,h2,p"  # specific elements

# Alternative: ScreenshotOne API (has rate limits)
ACCESS_KEY=$(cat /home/clawd/secrets/screenshotone/access_key)
curl -sL "https://api.screenshotone.com/take?access_key=${ACCESS_KEY}&url=https://example.com&viewport_width=1200&viewport_height=900&format=jpg&block_ads=true&block_cookie_banners=true&delay=2" -o output.jpg

# Analyze with taxonomy
python3 /home/clawd/workspace/scripts/visual-research/tag_image.py \
  --url "https://curiousendeavor.com/path/to/image.jpg" \
  --name "Brand Name - Description" \
  --save
```

**Capture sources:**
- Brand homepages (ScreenshotOne)
- Behance case studies (direct image URLs)
- Agency portfolios (Collins, Pentagram, Character)
- Notion Inspiration Library (existing curated refs)

---

### Phase 4: Build Direction Boards

Organize references into 2-4 distinct directions. Each direction board must include:

1. **Direction Name** — Evocative, not generic (e.g., "Playful Challenger" not "Option A")
2. **Visual DNA** — 3-5 key traits with examples
3. **Brand References** — 3-5 brands that embody this direction
4. **Why It Works** — Connection to brand positioning
5. **The Test** — How to evaluate if a design fits this direction

**Board Template:** `/home/clawd/workspace/public/visual-research/mission-playful-challenger/index.html`

---

### Phase 5: Illustration-Specific (If Applicable)

If brand requires illustration, add these layers:

| Element | Questions to Answer |
|---------|---------------------|
| **Character Style** | Eyes (dot? detailed?), Posture (active? passive?), Proportion |
| **Line Quality** | Bold? Loose? Geometric? Hand-drawn? |
| **Color Approach** | Palette size, Temperature, Unexpected combos? |
| **Scene Building** | How are environments illustrated? Detail level? |
| **Energy** | Playful? Serious? Confident? Approachable? |

**For each, show 2-4 reference images with annotations.**

---

## Taxonomy Reference

Use `/home/clawd/workspace/scripts/visual-research/taxonomy.json` for:

**Visual Layer:**
- element_type, style, mood, color_family, subject, content, context, action, craft

**Context Layer:**
- industry, audience_type, market_position, brief_fit, cultural_context

**Positioning Layer:**
- positioning_strategy, market_contrast, positioned_against, positioning_narrative, affinity_keywords

---

## Fishing Queries

To find references in library by positioning:

```bash
# Search by positioning strategy
curl -s -X POST "https://api.notion.com/v1/databases/2ff330c2-8646-81f0-bbd9-ec474393d7a5/query" \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Content-Type: application/json" \
  -H "Notion-Version: 2022-06-28" \
  -d '{
    "filter": {
      "or": [
        {"property": "Tags", "multi_select": {"contains": "quality-elevation"}},
        {"property": "Tags", "multi_select": {"contains": "rebellion-challenger"}}
      ]
    }
  }'
```

---

## Quality Checklist

Before presenting visual research:

- [ ] Positioning DNA extracted from brand strategy?
- [ ] Test Question defined?
- [ ] 2-4 distinct directions (not variations of same thing)?
- [ ] Each direction has 3-5 brand references?
- [ ] References analyzed with full taxonomy (visual + context + positioning)?
- [ ] Board is visual (images dominate, not text)?
- [ ] "Why it works" connects to brand positioning?
- [ ] If illustrated: character/line/color/scene questions answered?

---

## File Locations

- **Taxonomy:** `/home/clawd/workspace/scripts/visual-research/taxonomy.json`
- **Analysis Script:** `/home/clawd/workspace/scripts/visual-research/tag_image.py`
- **Board Template:** `/home/clawd/workspace/public/visual-research/mission-playful-challenger/index.html`
- **Illustration Template:** `/home/clawd/workspace/public/visual-research/mission-illustration-styles/index.html`
- **Inspiration Library:** Notion DB `2ff330c2-8646-81f0-bbd9-ec474393d7a5`
- **ScreenshotOne Key:** `/home/clawd/secrets/screenshotone/access_key`

---

## Example: Mission

**Positioning DNA:**
- Strategy: accessibility-democratization, rebellion-challenger
- Contrast: vs-pacification-paradigm
- Against: Activity cards, screen pacifiers, "keep kids busy" products
- Keywords: agency, capable, confident, participation
- Test: "Does this treat the child as CAPABLE or FRAGILE?"

**Directions Built:**
1. Playful Challenger (Oatly, Liquid Death, Tony's)
2. Illustration Styles (character, scene, brand systems)

**Boards:** 
- https://curiousendeavor.com/visual-research/mission-playful-challenger/
- https://curiousendeavor.com/visual-research/mission-illustration-styles/
