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.