Documentation
Learn how CompeteScope works and how to use it effectively
What is CompeteScope?
CompeteScope is a competitive intelligence platform built for technical leaders. It automatically gathers, analyzes, and synthesizes competitor information into actionable intelligence briefs.
Instead of spending hours manually researching competitors, CompeteScope uses AI-powered agents to crawl competitor websites, extract key information, and generate comprehensive analysis reports.
Key Features
Automated Intelligence Gathering
Firecrawl-powered web scraping extracts pricing, features, tech stack, and more from competitor sites.
AI-Powered Analysis
LLM analysis identifies threats, opportunities, and competitive signals from raw data.
Gap Analysis
Compare your company against competitors to identify what you lack and where you excel.
Interactive Chat
Ask questions about your competitive intelligence using natural language.
PDF Upload
Upload competitor documents, pitch decks, or reports for additional context.
Executive Briefs
Auto-generated reports ready to share with your team or stakeholders.
Signal Types
CompeteScope identifies various competitive signals categorized by threat level:
Critical competitive moves requiring immediate attention - major product launches, funding rounds, key hires.
Notable activities to monitor - feature updates, pricing changes, partnership announcements.
Gaps or weaknesses you can exploit - missing features, negative sentiment, underserved segments.
System Architecture
CompeteScope uses a pipeline-based architecture where each analysis progresses through distinct stages:
Pipeline Stages Explained
1. QUEUED (0-5%)
Pipeline created and waiting to start. Initial setup and validation.
2. GATHERING (5-55%)
Firecrawl agent crawls competitor websites, extracting product info, pricing, tech stack, team data, and more.
3. ANALYZING (55-70%)
LLM processes raw data to generate competitor profiles, threat/opportunity scores, and competitive signals.
4. GENERATING (70-95%)
Creates the executive brief, gap analysis (if comparative mode), and final report formatting.
5. COMPLETE (100%)
Report ready for viewing. Chat interface enabled for interactive Q&A.
Data Flow
Tech Stack
Backend
- FastAPI (Python)
- Supabase (PostgreSQL + Auth)
- Pydantic schemas
AI/ML
- OpenRouter (LLM gateway)
- Claude/GPT models
- Structured output parsing
Data Gathering
- Firecrawl (web scraping)
- Reducto (PDF parsing)
Frontend
- Jinja2 templates
- Tailwind CSS
- Chart.js
Getting Started
Follow these steps to create your first competitive intelligence report:
Step 1: Create a New Analysis
- Click "+ New Analysis" in the navigation bar
- Enter a name for your analysis (e.g., "Q1 2025 Competitor Review")
- Add competitor URLs - enter the main website URL for each competitor
- Optional: Enable Comparative Mode by entering your company name to get gap analysis
- Click "Start Analysis" to begin
Step 2: Monitor Progress
After starting, you'll see a progress modal showing the pipeline status:
Analysis typically completes in 2-5 minutes depending on the number of competitors.
Step 3: Review Your Report
Once complete, you'll be redirected to the report view with several tabs:
- Overview - Summary statistics, threat matrix, top signals
- Signals - All detected competitive signals with filtering
- Competitors - Detailed profiles for each competitor
- Brief - Executive summary document
- Chat - Ask questions about the intelligence
- Raw Data - Full JSON data for each competitor
Step 4: Upload Additional Documents
Enhance your analysis by uploading competitor documents:
- From the dashboard, click the upload icon on a pipeline card
- Select PDF files (pitch decks, whitepapers, reports)
- Documents are parsed and added to the intelligence context
- The chat interface will have access to this additional information
Step 5: Use the Chat Interface
The chat feature lets you interactively explore your competitive intelligence:
Example questions:
- "What are the biggest threats from Competitor X?"
- "Compare pricing strategies across all competitors"
- "What features do competitors have that we don't?"
- "Summarize hiring trends in the market"
Tips for Best Results
- Use main website URLs - The scraper works best with the primary domain (e.g., competitor.com, not competitor.com/pricing)
- Include 3-5 competitors - Enough for meaningful comparison without overwhelming the analysis
- Enable Comparative Mode - Gap analysis is most valuable when comparing against your own company
- Upload relevant PDFs - Pitch decks and product docs add valuable context
- Use specific chat questions - The more specific your question, the better the answer
API Endpoints
CompeteScope exposes a REST API for programmatic access. All endpoints require authentication via session cookies.
Pipelines
/api/pipelines/
Create a new analysis pipeline
Request Body
{
"name": "Q1 Competitor Analysis",
"competitors": ["https://competitor1.com", "https://competitor2.com"],
"host_company": "My Company" // optional, enables comparative mode
}
/api/pipelines/{id}/start
Start a queued pipeline
Response
{
"status": "processing",
"message": "Pipeline started"
}
/api/pipelines/
List all pipelines for the authenticated user
Response
[
{
"id": "uuid",
"name": "Analysis Name",
"status": "complete",
"progress": 100,
"competitors": ["url1", "url2"],
"created_at": "2025-01-31T..."
}
]
/api/pipelines/{id}/detailed-status
Get detailed progress for polling during analysis
Response
{
"status": "processing",
"progress": 45,
"stage": "gathering",
"stage_detail": "Scraping competitor2.com...",
"competitors_completed": 1,
"competitors_total": 3
}
/api/pipelines/{id}
Delete a pipeline and all associated data
Chat
/api/chat/{pipeline_id}/messages/stream
Send a message and receive streaming response (SSE)
Request Body
{
"content": "What are the main threats from competitors?"
}
Response (SSE stream)
data: {"token": "The"}
data: {"token": " main"}
data: {"token": " threats"}
...
data: {"done": true, "suggested_questions": [...]}
/api/chat/{pipeline_id}/messages
Get chat history for a pipeline
/api/chat/{pipeline_id}/suggestions
Get suggested questions based on the report content
Upload
/api/upload/{pipeline_id}
Upload a PDF document to enhance analysis
Request
Content-Type: multipart/form-data
file: (PDF file)
Response
{
"status": "success",
"document_id": "uuid",
"pages_processed": 12
}
Authentication
Authentication is handled via Supabase Auth with session cookies. The API uses access_token and refresh_token cookies set during login.
/auth/login
Magic link login (sends email)
/auth/logout
Clear session and logout