# Wishdeal Factory buyer-path - iteration 10 ship log

**Date:** 2026-05-09 (continued autonomous /loop)

## What shipped

### New scripts on `ubuntu@40.160.2.121`

| File | Purpose | Cron |
|---|---|---|
| `patch-catalog-audio-and-audience.py` | One-time. Adds (1) audio play button on every catalog card, (2) `?for=<audience>` URL filter, (3) catalog OG meta tags + Twitter card. JS handles one-audio-at-a-time playback. | one-time |
| `regen-og-catalog.py` | `/factory/og/_catalog.svg` - the catalog-level social-share card (1200x630). Used as og:image on the catalog page. | 36 hourly |
| `share-buttons-injector.py` | Twitter + LinkedIn + Copy-URL buttons injected on every product page above the pricing band. Marker `WD_SHARE_BUTTONS_v1`. | 38,08 |

### Live URLs

- https://wishdeal.com/factory/catalog/ - now has audio play button (30s pitch) on every card. Click to play, click again to pause, switching to another card stops the prior.
- https://wishdeal.com/factory/catalog/?for=agency - filtered view showing only agency-relevant products. Banner explains the filter, "see all" link clears it.
- https://wishdeal.com/factory/og/_catalog.svg - LIVE catalog social-share card
- 173 product pages now have Twitter/LinkedIn share buttons + Copy URL

### Audience filter mappings

URL param `?for=` maps to category filters:
- `agency` / `agencies` → agency + sales-motion
- `operators` → sales-motion + agency + field-service
- `field-service` / `trades` → field-service + trades
- `finance` → finance
- `legal` → legal
- `healthcare` → healthcare
- `ecommerce` → ecommerce
- `real-estate` → real-estate
- `education` → education
- `hospitality` → hospitality
- `saas` → general-saas + customer-success + devops-saas
- `developer` → developer-tools + devops-saas

This means Wes can send `wishdeal.com/factory/catalog/?for=agency` to an agency contact, and they land on a curated 30-product subset rather than 174 generic ones.

### Hero polish progress

Top 41-50 polished, 1 from top 51-75 done so far. Latest: "CS leaders, stop managing churn with spreadsheets" (customer-success-ai). Cron applies as more land.

## What's now better for buyers

1. **Audio plays inline on the catalog.** Visitor clicks "30s pitch" on any card and hears the elevator pitch. The Factory's audio assets were always there but invisible to the buyer; now they're a one-click delight.
2. **The catalog has a real OG card** when shared anywhere. Drop wishdeal.com/factory/catalog/ in Slack and you get a 1200x630 forest+gold card with "174+ pre-built AI businesses" hero text.
3. **Wes can send curated catalog URLs.** `?for=agency`, `?for=ecommerce`, `?for=legal` etc. Filter applies on page load with a visible banner. Works as a viral mechanic too: an agency owner who sees `?for=agency` will be more likely to share with another agency owner.
4. **Buyers can share product pages to Twitter/LinkedIn with one click.** Pre-filled text mentions the product name + Adoptability score + dossier price. Copy URL button as fallback.
5. **More polished heroes landed.** 51 of 75 done in flight. The catalog's top half now reads like real products owned by named ICPs.

## What still needs work

- **Stripe wiring** when Wes provides keys.
- **Hero polish next 25** (top 51-75 in flight; top 76-100 next iter).
- **Audio button degrades gracefully** when audio is missing - shows "audio missing" text. Some products may not have elevator.mp3 yet (~30 missing); the button is there but click shows "audio missing".
- **Share button copy** could be A/B'd against alternate phrasings to see which gets more clicks.
- **First real customer/buyer** still pending; depends on Wes's outreach push.

## Next 5 recommended autonomous tasks

1. **Hero polish top 51-75** (in progress).
2. **Stripe wiring** when keys arrive.
3. **Catalog + product CTA copy iteration** - the "Unlock dossier $5" button could test variations like "Read for $5" or "Get the schema $5".
4. **Email-template generator for Wes** - when he wants to send a curated catalog URL to a network contact, generate the email body with the audience filter URL pre-filled.
5. **Audio missing fallback** - generate elevator.mp3 for the ~30 products that lack one (use existing Fish.audio voice; runs in background overnight).

## Files changed inventory

- New: 3 Python (1 patcher, 1 OG generator, 1 share button injector)
- New: `/srv/sites/factory/og/_catalog.svg`
- Modified: `/home/ubuntu/factory/director/regen-catalog-v2.py` (audio button + audience filter + improved OG; backup `.bak.before-audio`)
- Modified: 173 product pages (share buttons injected)
- Modified: catalog page (audio buttons + audience filter on URL param)
- Modified: crontab (2 new entries)

## Cumulative iter 1-10 numbers

- **45+ buyer-facing or admin pages** live
- **5 Node API routes**
- **All 174 products** have full buyer-path artifacts including: landing, pricing band, hero insight, FAQ, dossier teaser+gated, outreach pack, email drip, feedback form, case-studies, more-like-this, og:image, JSON-LD, share buttons. Plus audio playback on the catalog cards.
- **159/174** with per-product brand identity
- **51/174** with polished hero copy via Claude CLI (top 50 + 1)
- **172 OG image SVGs** + 1 catalog OG card
- **Repair queue: 96% avg complete, 89/174 fully complete**
- **73 broken internal links** (down from 143 = 49% reduction across iters 8-9)
- **~85 active cron entries**
- **4 real intent captures + 2 feedback** in production data
