What we've shipped.
Newest first. We'll keep this honest, including the parts that took longer than they should have.
- 0.9
Commercial
BillingLimits- Plans, Paddle checkout and workspace subscriptions.
- Plan-bound crawl intervals and competitor limits, enforced server-side.
- LLM budget enforcement: a soft warning at 80%, and a hard stop that queues classification rather than dropping it.
- Snapshot retention. Raw payloads drop after 30 days, and the latest per source is kept.
- Google Sheets and Docs export.
- 0.8
Cited Q&A
Q&A- Ask questions in natural language across a competitor's accumulated findings.
- Every answer cites the findings it drew from.
- When monitoring holds nothing relevant, the answer says so instead of drawing on the model's own knowledge.
- 0.7
Seven more source types
Sources- RSS/blog, Reddit, Hacker News, Product Hunt, YouTube, GitHub, App Store and Google Play.
- Sources became adapters behind a registry, so crawling and diffing no longer branch on type.
- Source discovery probes a domain for likely feeds, repos and channels. Nothing is monitored until you confirm it.
- 0.6
Alert routing and feedback
Alerts- Routing rules: (change type, minimum urgency) → channels, per workspace with per-competitor overrides.
- Email, Slack and webhook channels.
- Mutes with optional auto-unmute, and cross-source deduplication so one change is one alert.
- Thumbs up/down and corrections on every finding.
- 0.5
Battlecards
Battlecards- A per-competitor battlecard covering positioning, strengths, weaknesses and pricing tiers, maintained as findings land.
- Section-level provenance: each section shows when it last changed and links to the finding that changed it.
- 0.4
Classification and urgency
Pipeline- Changes classified by type and urgency, with model output validated against a schema before storage.
- Malformed output is preserved as classification_failed rather than dropped or invented.
- 0.3
Source health
Reliability- Healthy, degraded, failing and blocked as distinct states throughout the product.
- A source that can't be crawled never renders as "no changes found".
- 0.2
Crawl, extract, diff
Pipeline- Playwright rendering, structured extraction with an LLM fallback, and field-level diffing.
- Baseline capture on adding a competitor, so the first crawl produces a battlecard rather than an empty screen.
- Polite crawling: robots.txt, rate limits and backoff.