Competitor Analysis
Extract features from competitor websites and estimate reimplementation costs.
Workflow
- •
Initialize database (first time only)
bashpython scripts/init_db.py <path>.db # or for Turso: python scripts/init_db.py libsql://your-db.turso.io --token <TOKEN>
- •
Scrape competitor URL(s) using WebFetch tool
- •
Extract features from page content:
- •Identify distinct product capabilities
- •Note feature name, description, source URL
- •Assign category (core/integration/ui-ux/security/analytics/collaboration/automation/admin)
- •
Estimate complexity for each feature:
- •
simple(2-8h): Standard CRUD, basic UI, config toggles - •
medium(8-24h): Multi-step flows, 3rd-party integrations, dashboards - •
complex(24-80h): Real-time collab, ML/AI, custom engines - •See references/cost-estimation.md for detailed rubrics
- •
- •
Store in database:
sql-- Add competitor INSERT INTO competitors (name, url) VALUES ('Acme', 'https://acme.com'); -- Add feature INSERT INTO features (competitor_id, name, description, category_id, complexity, estimated_hours_min, estimated_hours_max, source_url) VALUES (1, 'Real-time notifications', 'Push notifications across devices', (SELECT id FROM categories WHERE name = 'core'), 'medium', 12, 20, 'https://acme.com/features'); -- Log analysis run INSERT INTO analysis_runs (competitor_id, urls_analyzed, features_found) VALUES (1, '["https://acme.com/features"]', 15); - •
Query results:
sqlSELECT * FROM feature_summary WHERE competitor_name = 'Acme'; SELECT * FROM competitor_cost_summary;
- •
Generate interactive dashboard:
bashpython scripts/generate_dashboard.py <path>.db [output_dir] [--serve]
Opens browser with feature selection UI. Select features, filter by category/complexity, export as JSON/CSV.
Database Schema
| Table | Purpose |
|---|---|
competitors | Company name, URL, timestamps |
categories | Feature categories (seeded with defaults) |
features | Extracted features with complexity and hour estimates |
analysis_runs | Tracks scraping sessions |
feature_summary | View joining features with competitor/category names |
competitor_cost_summary | View with aggregated hour totals per competitor |
Output Example
After analyzing a competitor:
code
Competitor: Acme Corp (https://acme.com) Features found: 23 | Feature | Category | Complexity | Hours (min-max) | |---------|----------|------------|-----------------| | SSO/SAML | security | complex | 32-48 | | Dashboard builder | analytics | complex | 40-60 | | Slack integration | integration | medium | 12-20 | | Dark mode | ui-ux | simple | 4-6 | Total estimate: 280-420 hours