How BuyOrSwipe verifies every pick

Methodology version: v1 — last updated 2026-05-02

The 10-stage pipeline

Stage 1 — Source discovery

Every 30 minutes, our cron polls a curated list of YouTube channels for new product-review videos via RSS.

Stage 2 — Transcript extraction

Within 15 minutes of discovery, we fetch the transcript through our transcript provider, validate it (≥200 characters, ≤50,000 characters, English-only), and store a hash to gate re-extraction.

Stage 3 — Product extraction

Claude Haiku reads the transcript and emits structured product mentions (brand, model, category, timestamp). A sanity filter rejects names < 4 characters.

Stage 4 — Candidate search

We search AliExpress’s Affiliate API for candidates (price 0.1× to 1.2× of original, rating ≥ 4.0 or rating count < 10, orders ≥ 50, store not blocklisted).

Stage 5 — Visual scoring

For each candidate, we extract a frame from the YouTube video at the mention timestamp, encode both the frame and the AliExpress image with CLIP-ViT-Base-Patch32, and compute cosine similarity. Top 5 candidates by score are retained.

Stage 6 — LLM verification (two-tier)

Claude Haiku does a binary screen on the top 5; surviving candidates go to Claude Sonnet (multimodal) for full verification with a strict JSON output schema.

Stage 7 — Confidence gate

We compute combined_score = 0.3 × image_similarity + 0.7 × llm_confidence. A page publishes only when combined_score ≥ 0.85 AND the LLM verdict is “same_product” or “functional_equivalent”. Matches scoring 0.65–0.85 enter manual review. Matches below 0.65 are dropped.

Stage 8 — Page generation

Claude Sonnet writes the comparison page (hero answer ≤ 30 words, body markdown, FAQ items) using a cached system rubric. We mirror the AliExpress image to our CDN and publish.

Stage 9 — Health check & re-verification

Daily, we refresh price and availability for the oldest 200 published pages. Out-of-stock products trigger replacement matching or 301 redirects.

Stage 10 — Affiliate URL refresh

Daily, we refresh expiring affiliate URLs (older than 7 days) for actively-published pages.

The combined_score formula

combined_score = 0.3 × image_similarity + 0.7 × llm_confidence

A page publishes only when combined_score ≥ 0.85 AND the LLM verdict is “same_product” or “functional_equivalent”. Matches scoring 0.65–0.85 enter manual review. Matches below 0.65 are dropped.

Audit cadence

We run a 20-match weekly audit (pnpm audit:sample). If 30-day rolling accuracy drops below 90%, publishing pauses until the threshold recovers. Current rolling accuracy is surfaced on every pick via the verification stamp.

If you spot a pick where we got the match wrong, reply to any Telegram message or email — we treat misses as quality bugs and re-verify within 24 hours.

Methodology | BuyOrSwipe