Pink watcher
YOUR PAGES. YOUR SERVER.

Stay in the know.
Keep it private.

A quiet place to keep an eye on the pages that matter. Changes, history, and sessions stay on your server.

Independent monitoring · No cloud account
Built for your own corner of the web.
PRIVATE WORKSPACE

Welcome back

Unlock your monitoring dashboard.

Use the workspace password shown by your server installer.

MONITORING

Create a watch

Watch image

A cropped screenshot or photo for the watch list and Activity. Separate from change detection.

What should we watch?

Starts with all page text and the Any content change rule. It does not compare images, styling or hidden metadata. Counters and ads may create noise; narrow the selector or use exclusions to refine it. Guide and examples →

Selector guide and examples

A selector identifies an HTML element. The screenshot picker generates one from the element you click; it does not monitor screen coordinates. Test extraction before saving.

  • body: page text. Useful for keywords; may include navigation and other noise.
  • article or main: the main content.
  • #updated: the element with ID “updated”.
  • .price: elements with the class “price”.
  • main .price: price elements inside main.
  • time[datetime]: time elements with a datetime attribute. Choose Attribute mode and attribute datetime.
  • meta[property="article:modified_time"]: a page's hidden modification metadata, if provided. Choose Attribute mode and attribute content.
  • a.download: a download link. Attribute href monitors changes to its address.

Keyword: use Text, selector body, rule “Keyword appears” and your phrase. Enable Ignore case if needed. It triggers absent → present; the first check is a baseline. Matching is a substring, so “available” also matches “unavailable”.

Other modes: Presence checks whether an element exists. JSON uses a JSON Pointer such as /status/updatedAt with the HTTP engine. Use Browser for JavaScript-loaded content. Exclude selectors remove noisy elements.

There is no universal updated-date selector. Dates and hidden metadata depend on the website and can be missing or inaccurate. HTTP headers such as Last-Modified and ETag are not supported watch modes here. A missing required selector produces an error and preserves the baseline.

When should we record a change?

The first successful check establishes a baseline. Threshold and text rules notify when the condition becomes true.

After a previously successful watch has failed, its first successful extraction creates a reviewable alert and phone push, even if the value is unchanged. This also applies after connection, login or selector errors. Content-change rules and confirmations still apply separately.

Filters, login & advanced options

Logged differences remain in this watch’s Change history, including after review. Turning this off stops saving future snapshots; it does not erase earlier logs or the current baseline.

WATCH DETAILS

PRIVATE CREDENTIALS

Add a login session

Import a Playwright session from a browser you sign into yourself. It is encrypted on this server and restricted to one website origin.

Capture a session using npm run login -- https://example.com. This opens a separate browser for you to log in, then writes a sensitive session file. Delete that file after importing.

Delete watch?

Your workspace, one tap away

Same private workspace and password. Monitoring runs on your server, even when the app is closed. Daily email works independently; phone notifications can be enabled in Settings.