The problem
Competitive monitoring is manual, sporadic and shallow. By the time a human notices a competitor's shift, it is old news.
How it works
Collectors gather raw signals on schedules into SQLite. A Claude tool-calling orchestrator decides which processors to run, which produce digests, sentiment, gap analyses and a weekly brief pushed to Slack.
Architecture
Scheduler (APScheduler, cron) -> Collectors x8 (parallel): News, Reviews, Social, Jobs, Web, Pricing, Trends, Patents -> raw_signals (SQLite WAL) -> Master agent (Claude tool-calling loop) picks processors -> Processors x7 -> weekly PRD brief -> Slack
Highlights
- A master orchestrator uses Claude's tool-calling loop to dynamically decide which of 7 specialist subagents to invoke and in what order.
- 8 parallel collector agents on independent cron schedules: news, app reviews, social, jobs, web, pricing, trends, patents.
- 7 processor agents including a Hiring Signal Parser that infers competitor roadmap from job posts, and a Narrative Diff agent that surfaces messaging drift.
- Weekly synthesis generates PRD-format markdown for product planning.
- Content-hash deduplication across collectors prevents redundant processing.
