Docs
Everything you need to set up and live with Forewarn. Read top-to-bottom in five minutes.
Overview
Forewarn watches public web pages — competitor pricing, product changelogs, news, regulatory docs, anything — and tells you in one sentence when something meaningful ships. You add URLs, Forewarn renders and extracts them on a schedule, diffs them against the previous snapshot, and emails you a summary. Slack delivery is in the works.
The explicit goal is to be ignorable: quiet when nothing matters, loud exactly when something does.
Quick start
- Create an account. Free plan includes 5 URLs.
- Go to
Dashboardand add a source + a URL to watch. - Add a destination in
Settings. Email alerts ship today; you can also paste a Slack incoming webhook (delivery coming soon). - That's it. Forewarn will start checking on the next scheduled tick and notify you when a meaningful change lands.
Page types
Forewarn tunes its classifier per page type. When you add a URL, it's auto-classified into one of:
- pricing — plan names, prices, feature bullets.
- changelog — new entries or major version bumps.
- blog — new posts only; unchanged listings ignored.
- careers — new roles appearing or disappearing.
- other — generic diff-based classification.
You can pick the page type when adding a URL — useful for pages that look like one thing but behave like another (e.g. a pricing FAQ). If auto-detection guesses wrong, delete and re-add with the correct type.
Check frequency
Each URL is assigned a bucket: every 15 min, hourly, every 4 hours, or daily (default). Each bucket runs on its own schedule; the dispatcher claims any page whose tick has come due and queues it for checking.
Fetches run in a real Chromium browser via Playwright, so JS-rendered pages work the same as static ones. Requests identify themselves as ForewarnBot.
Classification
Every diff is labeled meaningful, minor, or ignore with a confidence score. Only meaningful changes trigger notifications.
The underlying rules — with examples — are:
- pricing: number, plan-name, or feature-bullet change → meaningful; layout-only reflows → minor.
- careers: new role → meaningful; role removed → minor.
- blog / changelog: new post or entry → meaningful; edits to existing posts are usually minor unless the substance changed.
- CSS classes, whitespace, build/asset hashes, CSRF tokens, analytics IDs, server-render timestamps, "last updated" indicators that move on their own → ignore.
Notifications
Add as many destinations as your plan allows in Settings.
- Email — pending alerts are batched and sent every 5 minutes. One email per meaningful change.
- Slack — you can save an incoming webhook URL today, but Slack delivery isn't shipped yet. Coming soon.
FAQ
What happens the first time a URL is checked?
We record a baseline snapshot and don't alert — there's nothing to diff against. Subsequent checks compare against the previous snapshot.
What if a page fails to load?
The check is released and retried on the URL's next scheduled tick.
Can I see the raw diff for a change?
Yes. The source detail page shows the unified diff alongside the summary.
Do you store the full page HTML?
We store the extracted text needed to diff. Raw HTML is referenced by blob key in the snapshot record where available; we don't pull it into the UI.