Technical Demo — March 2026
Products from CJ affiliate catalog, enriched with structured wallpaper specs. Every product has an affiliate link and working retailer URL.
CJ-sourced products with extracted wallpaper specs.
A CJ-first pipeline: ingest from affiliate catalog, then enrich with structured specs.
The pipeline starts from CJ's affiliate catalog rather than scraping retailer sites. This guarantees every product has a working affiliate link, image, and retailer URL.
Retailer pages become an enrichment source for structured specs, not the starting point. Products are valid and monetizable even without specs.
Old: Scrape retailers → match to CJ → broken links, tiny catalog
New: CJ API → enrich with specs → every product monetizable
Specs are extracted from retailer product pages using CSS selectors (preferred) or LLM fallback. Not all pages are accessible — some retailers block scraping (403).
complete: 3+ spec fields successfully extracted
partial: 1-2 fields extracted
blocked: Retailer returned 403/429
pending: Not yet attempted
Every product is normalized into a WallpaperSpecs model with 10 fields:
| Field | Type | Example |
|---|---|---|
| roll_width_inches | float | 27.0 |
| roll_length_feet | float | 33.0 |
| coverage_sqft | float | 74.25 |
| pattern_repeat_inches | float | 25.2 |
| match_type | enum | half-drop |
| material | string | non-woven |
| application_method | enum | prepasted |
| cleanability | string | washable |
| removability | string | strippable |
| sold_as | enum | double_roll |
CJ-first works because the retailers that block scraping have the biggest affiliate catalogs. Wayfair returns 403s to simple HTTP requests, but their entire wallpaper catalog (1.13M+ products) is available through CJ's product feed API.
Path to revenue: Join the Wayfair North America advertiser program on CJ. Once approved, affiliate tracking URLs auto-populate for every product. Commission on wallpaper sales flows through existing CJ infrastructure.
The aggregation moat is normalized specs. No existing wallpaper site lets you compare products across retailers by roll width, pattern repeat, or coverage. Structured extraction makes this possible — and it scales to every new retailer added to the pipeline.