# 2026-01-26

## Genre Universe - 3D Artist Visualization

Built a full Three.js interactive 3D visualization showing where Das sits in genre space relative to other artists. See `2026-01-26-genre-universe.md` for full details.

**Key files:** `~/.clawdbot/workspace/genre-viz/`
**Live:** http://localhost:8420

---

## PageIndex Memory System

Implemented PageIndex-style hierarchical memory structure at `memory/INDEX.json`. Tree-based navigation with:
- Node IDs for each knowledge domain
- File references with line numbers
- Summaries and keywords for reasoning-based retrieval
- No vector search - uses tree traversal + reasoning

---

## Reonomy Scraper v13 - Complete Rebuild

### What We Built Today

**1. Production Scraper (`reonomy-scraper-v13.js`)**
- Full anti-detection: random delays (3-8s), shuffled property order, occasional breaks
- Daily limits: tracks properties scraped per day, caps at 50/day
- Session management: saves/loads auth state, auto-relogins if expired
- Appends to existing leads file (doesn't overwrite)

**2. Quick Demo Script (`reonomy-quick-demo.js`)**
- Single-contact extraction in ~60 seconds
- Opens headed browser so you can show someone
- Leaves browser open for inspection

### How to Run

```bash
# Demo (show someone how it works)
node ~/.clawdbot/workspace/reonomy-quick-demo.js

# Production scrape (20 properties, anti-detection)
node ~/.clawdbot/workspace/reonomy-scraper-v13.js

# Custom limits
MAX_PROPERTIES=5 node ~/.clawdbot/workspace/reonomy-scraper-v13.js
```

### Proven Extraction Workflow

1. Login → https://app.reonomy.com/#!/login
2. Search with filters → `/search/{search-id}`
3. Click property card → `/property/{id}/building`
4. Click "Owner" tab → `/property/{id}/ownership`
5. Click "View Contacts (X)" → navigates to company page
6. Click person link → `/person/{person-id}`
7. Click "Contact" button → modal with phones/emails
8. Extract from modal:
   - Phones: `button "XXX-XXX-XXXX Company Name"`
   - Emails: `button "email@domain.com"`

### Anti-Detection Features
- Random delays 3-8 seconds between actions
- Shuffled property order (not sequential)
- 20% chance of "coffee break" (8-15s pause)
- 30% chance of random scroll/hover actions
- Daily limit of 50 properties
- Session reuse (doesn't login/logout constantly)

### Files
- `/Users/jakeshore/.clawdbot/workspace/reonomy-scraper-v13.js` - Production
- `/Users/jakeshore/.clawdbot/workspace/reonomy-quick-demo.js` - Demo
- `/Users/jakeshore/.clawdbot/workspace/reonomy-leads-v13.json` - Output
- `/Users/jakeshore/.clawdbot/workspace/reonomy-daily-stats.json` - Daily tracking
- `/Users/jakeshore/.clawdbot/workspace/reonomy-auth.json` - Saved session

### Search ID (with phone+email filters)
`bacfd104-fed5-4cc4-aba1-933f899de3f8` - FL Multifamily with phone filter
