How the desk works
Scoring, sources, and what “whitespace” means
OriginRadar is an opportunity desk, not a store. Each card is a SKU that is moving in China factory channels, then tested against demand (search + social) and against whether North America, Southeast Asia, and Europe already sell a comparable item.
Opportunity score (0–100)
- Factory trend 20% — 1688/PDD order volume, listing depth, week-on-week velocity.
- Social heat 20% — TikTok, Xiaohongshu, Instagram, YouTube, X mentions and views, with a rising/peak/fading modifier.
- Search demand 18% — Google keyword index, related-query lift, and average interest across NA / SEA / EU countries.
- Market gap 28% — whitespace scores 100. If the product exists, score scales with factory-to-retail margin and listing thinness.
- Supply ease 14% — supplier count, verified factories, MOQ.
Price gap
Margin % = (regional average retail − estimated landed cost) / retail. Landed cost is factory unit + typical DDP/postage + a duty buffer. Whitespace cells use a projected retail from category comps so you still see a theoretical gap.
Sources
Factory layer: 1688, Pinduoduo, Alibaba, Taobao. Demand layer: Google search interest, TikTok, Xiaohongshu (小红书), Instagram, YouTube, X. Market layer: Amazon US/EU, Walmart, Shopify/DTC, Shopee, Lazada, TikTok Shop, and regional specialists (Bol, Notino, Leroy Merlin).
Official 1688, TikTok Creative Center, and Xiaohongshu APIs need commercial keys. The current snapshot is a research-backed desk as of 5 Sep 2026 with a pluggable adapter for live refresh. Treat numbers as directional for sourcing, not as a purchase order.
Price zone
Each market gets a floor / recommended / ceiling. Floor is landed cost divided by 0.62 (about 38% gross after freight and duty — ads and returns still come out of that). Whitespace recommended prices use category comps. Competitive markets shade the going average. Saturated markets hug the low end and are often marked tight. Generate writes the best-region recommended price as storefront retail.
Customization and overseas address
Every factory pack records whether the mill will do logo / color / retail-box OEM, the custom MOQ, whether a sample can ship to an overseas address, and how export actually works: factory DDP, agent DDP after EXW, or EXW-only (no overseas consignee — typical for cosmetics and heavy sanitary electrical).
Daily queue
/queue is the working deck: eight ranked SKUs for the UTC day. Generate sources the listing, Collect keeps a shortlist, Discard hides a SKU until tomorrow. State lives in the same SQLite file as sourced listings.
Deploy and HX monitoring
Vercel hosts the radar UI (Root Directory origin-radar). DigitalOcean App Platform (.do/app.yaml) is the persistent host for Generate and SQLite. HX bots should poll /api/health and /api/hx; viewership ingest is /api/hx/viewership.
Generate → database → storefront
On any recommendation, click Generate listing. OriginRadar builds a 1688-shaped pack (gallery, HTML description, specifications, factory terms of use, MOQ price tiers) and writes it to SQLite at data/storefront.sqlite, with images under public/sourced/<slug>/. If ALIBABA_1688_APP_KEY, ALIBABA_1688_APP_SECRET, and ALIBABA_1688_ACCESS_TOKEN are set, the generator calls alibaba.product.get and overwrites title/images from the live offer. Export Shopify CSV from /storefront when you are ready to stand up the shop.