PitchMirror - AI Agent That Monitors Competitor Pricing Pages and Alerts You to Every Change
Your biggest competitor just dropped their price by 30% and you found out from a customer churning. PitchMirror is an AI agent that watches competitor pricing pages, detects semantic and structural changes, and fires a Slack alert with a side-by-side diff before your next sales call.
Difficulty
intermediate
Category
Sales Automation
Market Demand
High
Revenue Score
8/10
Platform
AI Agent
Vibe Code Friendly
No
Hackathon Score
🏆 8/10
What is it?
Sales and product teams on r/sales and r/SaaS regularly post about discovering competitor pricing changes weeks late. Tools like Visualping only do pixel diffs and miss soft copy changes like new tier names or repositioned value props. PitchMirror combines Playwright page scraping with Claude for semantic change detection, storing structured pricing snapshots in Postgres and diffing them daily. When something meaningful changes — not just a CSS tweak — it posts a Slack message with the old vs new pricing narrative so sales reps can update their battlecards in real time. Fully buildable with Playwright, Claude API, and Supabase today.
Why now?
Claude API semantic understanding is now good enough to distinguish meaningful pricing copy changes from CSS noise, making this finally buildable without custom ML — that was not true 18 months ago.
- ▸Playwright scraper that captures full pricing page HTML and rendered text daily.
- ▸Claude semantic diff that ignores CSS changes and flags meaningful copy or price shifts.
- ▸Slack alert with old vs new pricing snapshot and one-line summary of what changed.
- ▸Dashboard showing change history timeline per competitor with confidence scores.
Target Audience
B2B SaaS sales and product marketing teams at companies with 5-50 reps, roughly 40k teams globally.
Example Use Case
A SaaS sales lead gets a Slack alert Monday morning that a top competitor rebranded their entry tier and dropped it by $20/month, updates battlecards by 9am, and saves three deals that week.
User Stories
- ▸As a sales rep, I want a Slack alert when a competitor changes pricing, so that I update my pitch before the next call.
- ▸As a product marketer, I want a change history timeline, so that I can spot competitive pricing trends over a quarter.
- ▸As a sales ops lead, I want to track 15 competitors at once, so that I cover our full competitive landscape automatically.
Acceptance Criteria
Scraper: done when Playwright captures full rendered pricing text for any public URL without bot detection. Semantic Diff: done when Claude flags a $10 price change and ignores a font-color CSS update. Slack Alert: done when alert fires within 5 minutes of diff detection with old vs new snapshot. Dashboard: done when change history loads for all competitors in under 2s.
Is it worth building?
$49/month x 80 teams = $3,920 MRR at month 4. Team plan at $149/month for 10+ competitors adds $2k/month.
Unit Economics
CAC: $30 via LinkedIn cold outreach. LTV: $588 (12 months at $49/month). Payback: 1 month. Gross margin: 80%.
Business Model
SaaS subscription
Monetization Path
Free tier: 2 competitors tracked, weekly checks. Paid at $49/month: 15 competitors, daily checks, Slack alerts.
Revenue Timeline
First dollar: week 2 via manual outreach. $1k MRR: month 2. $5k MRR: month 7.
Estimated Monthly Cost
Claude API: $45, Vercel: $20, Supabase: $25, Playwright cloud runs: $20, Stripe fees: $20. Total: $130/month at launch.
Profit Potential
Full-time viable at $5k MRR with 102 paying teams.
Scalability
High — expand to G2 review monitoring, press release tracking, and job posting signals.
Success Metrics
Week 2: 5 beta teams tracking competitors. Month 1: 20 paid. Month 4: 80 paid at 85% retention.
Launch & Validation Plan
DM 20 sales ops leaders on LinkedIn with a free 30-day trial, track 3 of their competitors for them manually first to prove value.
Customer Acquisition Strategy
First customer: manually run the agent for 5 sales teams for free, send them the Slack alert yourself, then convert to paid. Ongoing: LinkedIn content targeting sales ops, cold email sequences, G2 listing.
What's the competition?
Competition Level
Low
Similar Products
Visualping does pixel diffs only and misses copy changes. Klue is enterprise-priced at $1k+/month. Crayon requires manual battlecard updates. This fills the affordable semantic-diff gap.
Competitive Advantage
Semantic AI diff catches copy changes that pixel-diff tools miss, Slack-native so zero workflow change for sales reps.
Regulatory Risks
Low regulatory risk. Scraping publicly available pricing pages is generally legal but terms of service violations possible — limit to public pages only.
What's the roadmap?
Feature Roadmap
V1 (launch): Playwright scraper, Claude diff, Slack alert, basic dashboard. V2 (month 2-3): Change timeline, confidence scoring, email digest. V3 (month 4+): G2 review monitoring, job posting signals.
Milestone Plan
Phase 1 (Week 1-2): Scraper and Claude diff working end-to-end locally. Phase 2 (Week 3-4): Slack alerts, Stripe billing, Vercel deploy. Phase 3 (Month 2): 20 paid teams, LinkedIn content flywheel started.
How do you build it?
Tech Stack
Node.js, Playwright, Claude API, Supabase, Slack API, Stripe, Next.js dashboard — build with Cursor for agent logic, v0 for dashboard.
Suggested Frameworks
-
Time to Ship
2 weeks
Required Skills
Playwright scraping, Claude API, Supabase, Slack API webhook.
Resources
Playwright docs, Anthropic Claude API docs, Slack API docs, Supabase quickstart.
MVP Scope
agent/scraper.ts, agent/differ.ts, agent/scheduler.ts, app/dashboard, app/api/competitors, app/api/alerts, app/api/auth, supabase/schema.sql, lib/slack.ts.
Core User Journey
Sign up -> add competitor URL -> connect Slack -> receive first pricing change alert within 24 hours -> upgrade to paid.
Architecture Pattern
Cron triggers Playwright scrape -> HTML stored in Supabase -> Claude diffs against last snapshot -> if change detected, Slack webhook fires -> dashboard logs diff with timestamp.
Data Model
User has many Competitors. Competitor has many Snapshots. Snapshot has one SemanticDiff. Diff triggers one Alert.
Integration Points
Playwright for scraping, Claude API for semantic diff, Slack API for alerts, Stripe for billing, Supabase for snapshot storage.
V1 Scope Boundaries
V1 excludes: G2 review monitoring, job posting signals, team collaboration, custom alert templates, mobile app.
Success Definition
A sales ops manager signs up, adds five competitors, and receives a meaningful pricing alert within 48 hours without any founder involvement.
Challenges
Distribution is the hardest problem — sales teams do not browse ProductHunt. Must reach them via LinkedIn content and cold email to sales ops leaders.
Avoid These Pitfalls
Do not track logged-in or paywalled pricing pages in v1 — too complex. Sales teams do not self-discover tools; finding first 10 paying customers requires direct outreach, not waiting for inbound. Do not over-index on dashboard features — the Slack alert is the core value.
Security Requirements
Supabase Auth with Google OAuth, RLS on all competitor and snapshot tables, rate limit 50 scrapes/hour per account, sanitize competitor URLs on input.
Infrastructure Plan
Vercel for Next.js dashboard, Supabase for Postgres and cron, Playwright on Vercel serverless, GitHub Actions for CI, Sentry for errors.
Performance Targets
50 DAU at launch, 200 req/day. Scrape job under 30 seconds per URL. Dashboard load under 2s.
Go-Live Checklist
- ☐Security audit complete
- ☐Scrape and alert flow tested end-to-end
- ☐Sentry live
- ☐Vercel monitoring configured
- ☐Custom domain with SSL
- ☐Privacy policy published
- ☐5 beta sales teams signed off
- ☐Rollback plan documented
- ☐LinkedIn launch post drafted.
How to build it, step by step
1. Scaffold Next.js app with Supabase auth. 2. Build Playwright scraper that captures pricing page text and stores as snapshot. 3. Write Claude prompt to diff two snapshot texts and return structured change summary. 4. Build Supabase cron job to run scraper daily per competitor. 5. Implement Slack webhook sender using Slack Block Kit for rich alerts. 6. Build dashboard with competitor list and change history timeline using v0. 7. Add Stripe $49/month subscription checkout. 8. Add free tier usage gate at 2 competitors. 9. Write seed script to populate 5 demo competitors for onboarding. 10. Deploy to Vercel and cold email 20 sales ops leaders on LinkedIn.
Generated
April 12, 2026
Model
claude-sonnet-4-6
Disclaimer: Ideas on this site are AI-generated and may contain inaccuracies. Revenue estimates, market demand figures, and financial projections are illustrative assumptions only — not financial advice. Do your own research before making any business or investment decisions. Technology availability, pricing, and market conditions change rapidly; always verify details independently.