Competitive pricing intelligence with multi-store scrapers
A B2B pricing-intelligence platform for retail and agencies. It monitors competitor stores, matches SKUs across catalogs, and surfaces price gaps so teams know when to move prices, with self-serve setup in minutes.

Under the hood
A B2B competitive pricing intelligence platform for retail and agencies, built as a monorepo of three deployable services: a Next.js 15 web app, a NestJS API on PostgreSQL, and an isolated scraping service with its own database and job queue. Teams pick competitor sources, set refresh cadences, import their SKUs, and watch SKU-level price gaps in a unified dashboard, with self-serve onboarding and usage-based pricing quotes that update live as the configuration changes.
The data pipeline fetches, parses, scores, and persists each product through multi-strategy parsers (JSON-LD, VTEX runtime state, and DOM fallbacks) that merge by priority with a confidence score, plus canonical product deduplication. A timezone-aware scheduler reads each company's config from the main database read-only and enqueues scrape runs through pg-boss workers with adaptive per-domain concurrency, while a separate worker process handles transactional email with retries and a dead-letter queue.
Three-service architecture
A Next.js app, a NestJS API on Postgres, and an isolated scraping service with its own DB and queue.
Multi-strategy parsing
JSON-LD, VTEX runtime state, and DOM strategies merge by priority with confidence scoring and canonical dedup.
Timezone-aware scheduling
A scheduler reads company config read-only and runs scrapes through pg-boss workers with adaptive per-domain concurrency.
Self-serve onboarding
A multi-step wizard drives both setup and live usage-based pricing, with agency mode for isolated client workspaces.