Skip to content

team-telnyx/Competitor-Monitor

Repository files navigation

Competitor Monitor

AI/voice product intelligence — daily automated monitoring of competitor websites for updates related to AI assistants, inference, STT, and TTS.

Competitors Tracked

Voice AI: Vapi, ElevenLabs, Retell AI, Bland AI Transcription: AssemblyAI Platforms: Twilio AI Inference: Together AI, Baseten, Fireworks AI, RunPod, Modal, Replicate

How It Works

  1. Fetches competitor sitemaps and detects new pages (via lastmod or snapshot diffs)
  2. Scrapes new pages for content
  3. LLM classifies each page by focus area (AI Assistants, Inference, STT, TTS) and filters out noise
  4. LLM generates an executive digest with competitive signals
  5. Delivers via Slack and/or email

Setup

pip install -r requirements.txt

Create a local variables file from the sample and add secrets there (do not commit it):

mkdir -p local
cp local/.env.example local/.env

Required for LLM classification/summarization:

OPENAI_API_KEY=sk-...
OPENAI_MODEL=gpt-4o-mini       # Optional override

Optional delivery settings:

SLACK_BOT_TOKEN=xoxb-...       # Slack delivery
SENDGRID_API_KEY=SG....        # Email delivery
SENDGRID_SENDER_EMAIL=...      # Email sender

Usage

# Full run: scrape, classify, summarize, post to Slack
python tools/competitor_monitor.py

# Refresh one competitor and fail fast if inference is not configured
python tools/competitor_monitor.py --competitor ElevenLabs --require-inference --no-slack

# Skip LLM (raw results only)
python tools/competitor_monitor.py --no-classify

# Email digest
python tools/competitor_monitor.py --email [email protected]

# Dry run
python tools/competitor_monitor.py --no-slack --no-scrape --no-classify

# Custom time window
python tools/competitor_monitor.py --hours 48

See workflows/competitor_monitoring.md for full details.

GitHub Actions Schedule

The repo includes .github/workflows/competitor-monitor.yml, which runs every 6 hours and can also be triggered manually from the Actions tab. The default-branch workflow checks out feat/scraper-feed-support so the scheduled scan uses the newer inference/feed monitor code.

Configure these GitHub Secrets for the scheduled workflow:

OPENAI_API_KEY         # Enables classification and digest generation
TELEGRAM_BOT_TOKEN    # Bot token used to send the run summary
TELEGRAM_CHAT_ID      # Chat ID that receives the run summary

Optional GitHub Variables:

OPENAI_MODEL                 # Defaults to gpt-4o-mini
SLACK_COMPETITOR_CHANNEL     # Only used if Slack delivery is re-enabled

Roadmap

  • Slack notifications — Send daily digest to Max and Jake via Slack DM/channel
  • Linear ticket creation — Automatically create Linear tickets for notable competitor updates that need team review

About

Daily automated monitoring of competitor websites (Vapi, ElevenLabs, Twilio) for new product updates

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors