Competitor monitoring for small DTC brands

StackPlaywright scrapersNext.jsPostgresResend

Market read pendingWe are still researching this idea.
How scoring works

The idea

Small DTC founders learn about a competitor’s price cut the worst possible way: a customer emails asking them to match it, three weeks late. Watching rivals is a job everyone agrees matters and nobody does — checking ten stores and the Meta Ad Library daily is exactly the kind of tedium that loses to fires in the inbox. Meanwhile the data is sitting in public: Shopify stores expose their entire catalog as JSON.

Dropkiller proved e-commerce operators pay subscription money for competitive intelligence, but its audience is dropshippers hunting winning products — a churny, trend-chasing crowd. Point the same telescope at a brand operator’s named rivals instead: a founder defending a niche wants a calm daily digest of price changes, new SKUs, stockouts, and ad creative swaps from the same 5 stores, forever. Scraping a handful of known Shopify stores is drastically easier than indexing the whole market, which is why this is a one-week build.

Who pays

Founders and marketing leads at $500k-5M revenue DTC brands pay $39-99 a month depending on how many competitors they track — priced as a fraction of one intern-hour a day. It renews because the digest lands every morning with something concrete in it. Distribution: DTC operator communities (Twitter/X DTC circles, niche Slack groups), a free one-time competitor teardown report as lead magnet, and SEO for competitor-name price tracking queries.

MVP scope

  • Competitor onboarding with Shopify products.json ingestion and generic-page fallback
  • Nightly crawl plus differ emitting price, SKU, stock, and homepage-change events
  • Meta Ad Library tracking for ad creative additions and pauses (top tier)
  • Morning digest email via Resend and a filterable dashboard timeline with per-SKU price history
  • Stripe tiers by competitor count, 14-day trial
  • Skip for v1: Amazon/marketplace tracking, SEO-rank monitoring, Slack integration, alerting thresholds/webhooks, sentiment analysis of reviews
// Build prompt — paste into Cursor / Claude Code / Lovable / Bolt
Build RivalWatch, a competitor monitoring service for small DTC brands. Stack: Playwright scrapers on a nightly cron, Next.js dashboard, Postgres, Resend for the daily digest email.

Core flow: 1) Founder adds 3-10 competitor store URLs. 2) Nightly Playwright jobs crawl each store: for Shopify stores, hit /products.json and /collections.json first (structured, no DOM parsing) and fall back to page scraping for non-Shopify; also pull the brand's Meta Ad Library page for active ad creatives. 3) A differ compares tonight's snapshot to yesterday's and emits typed events: price_change (with old/new and percent), new_sku, sold_out, back_in_stock, ad_creative_added, ad_creative_paused, homepage_hero_changed (screenshot diff hash). 4) Events land in Postgres and render in a dashboard timeline filterable by competitor and event type. 5) Every morning Resend sends a digest: lead with the highest-impact events (price cuts first), grouped by competitor, each with a link to the source page.

Pages: onboarding (add competitors), dashboard timeline, competitor detail (price history charts per SKU), digest settings (send time, event filters), billing.

Non-obvious details: store full product snapshots, not just diffs, so history survives differ bugs; jitter crawl times and rotate residential proxies per domain to avoid blocks; treat currency and variant-level prices explicitly or price alerts will be wrong.

Pricing: $39/mo (3 competitors), $69/mo (6), $99/mo (10 plus ad-creative tracking). 14-day trial, no card.

// More Micro-SaaS ideas