Workers
Competitor watcher
Periodic competitor surveillance. For each tracked competitor brand, checks several signal surfaces, diffs against the last snapshot, writes any detected change to competitor_changes. Scores changes for threat magnitude so the dashboard's competitor panel can highlight what matters.
Updated today
Overview
At a glance
- Worker
watcher- Workflow
WatcherWorkflow- Sibling workers
- scrape, render, search
- D1
ultron-operations(reads brands, writes competitor_changes)- News feeds
- techcrunch, venturebeat, the-verge, wired, techmeme
- Output
- competitor_changes rows scored by ThreatComponents
Worker shape
wrangler.toml (key bindings)toml
Signal sources
Each brand has a configurable subset.
| Signal | How it is fetched |
|---|---|
| Pricing page diff | scrape worker fetches pricing page, hash compared to last snapshot |
| Hero copy diff | scrape worker on the homepage hero block |
| Press mentions | search worker against the five news feeds plus general web |
| Open job postings | ultron-jobs / ultron-linkedin-jobs-guest results filtered to the brand |
| Funding announcements | search + Pitchbook profile diff |
| Review velocity | g2-reviews and capterra-reviews row counts vs last tick |
| Social cadence | Instagram + TikTok trend dataset for the brand's handles |
| Github activity | scrape worker on the brand's primary github org |
| Sentiment shift | search worker plus a small LLM classification pass over recent mentions |
Workflow steps
WatcherWorkflow.run sketchts
Threat components
Each change is scored across five dimensions.
| Dimension | Range | Driven by |
|---|---|---|
| impact | 0 to 5 | Magnitude of the change (e.g. funding round size vs hiring a single engineer) |
| urgency | 0 to 5 | How fresh the change is and whether it is mid-cycle (pricing drop tomorrow vs last quarter) |
| overlap | 0 to 5 | How much the change targets the workspace's ICP |
| proximity | 0 to 5 | How close geographically and category-wise |
| confidence | 0 to 5 | Signal source reliability |
Note
The composite threat score is the weighted sum used by the dashboard's competitor panel to sort changes. Operators can retune weights per workspace in
SHARED_CONFIG.Change rows
ultron-operations.competitor_changessql
File map
cf-workers/watcher
wrangler.toml
src
index.ts
workflow.tsWatcherWorkflow + checkSignal dispatcher
signals
pricing.ts
hero.ts
press.ts
jobs.ts
funding.ts
reviews.ts
social.ts
github.ts
sentiment.ts
threat.tsThreatComponents scorer