See what actually changed on competitor pages, not just prices

By General Input

Open one wall each week to see every competitor page next to its last capture, with added and removed lines highlighted and every plan compared in one table.

Integrations

  • Browserbase
  • Google Sheets
  • Slack

Type

App

Categories

  • Marketing
  • Product

Build me a competitive intel wall that our product marketing team opens every week to see what actually changed on our competitors' websites, not just what they charge. This is a browsing and review surface, not a background monitor. Nothing runs on a schedule. I open the app, look at what moved, and every capture or outbound message happens because I pressed a button.

The watchlist. The list of what we track lives in a Google Sheet and is read with Get Values, one row per competitor page. Each row carries the competitor name, the page URL, and a page type such as pricing, homepage, changelog or security page. A competitor usually has several rows, one per page type, so the wall must group rows by competitor rather than treating every URL as its own competitor. Keep pricing as one row type among several. The whole point of this app is that a new changelog entry or a reworded security page matters as much as a price move.

Capturing a page. Each row is captured on demand with the Browserbase Fetch Page operation, which needs no browser session. Ask it for both markdown and schema-extracted JSON in the same capture. The markdown is what we diff for readable added and removed lines. The extracted fields are what make the comparison tab possible, so extract plan names, prices, billing periods, headline claims and feature bullets. Every row gets a Recheck now button that captures that page again immediately and refreshes the card.

Storing captures. When a capture completes, append it to the sheet with Append Values: the competitor, the URL, the page type, the capture timestamp, the extracted fields and the markdown. The sheet is the history, so each card can show its own timeline of past captures and I can look back at what a page said months ago without the app hoarding the data itself.

Tab one, the wall. Every competitor is a card. The card shows the newest capture of each tracked page beside the previous one, with added lines and removed lines highlighted inline so the change is readable at a glance instead of making me compare two blocks of text myself. Put a plain language summary of what changed across that competitor's pages at the top of the card, then let me expand any page to read the full side by side and scroll its timeline.

Cosmetic noise must not count as a change. Copyright years, rotating testimonials, customer logo carousels, shifting review counts, session or tracking identifiers in links, and reordered blocks carrying the same text are all churn. Ignore them when deciding whether a page changed and when deciding whether a card has unreviewed changes. A card should only come forward when something substantive moved: a price, a plan name, a feature bullet, a headline claim, a new section or a removed section.

Reviewed state. Let me mark a change reviewed. Once reviewed, that card goes quiet and stays quiet until that page moves again, at which point it returns as unreviewed with the new diff. The wall defaults to showing only competitors that have unreviewed changes, with a toggle to show everything. Reviewed state is shared across the team so two of us never review the same change twice.

My note on why a change matters. On any change I can write a short note explaining why it matters, and that note saves back to the sheet with Update Values against that capture's row. The note then shows on the card, so the next person to open the wall sees our read on the change and not just the raw diff.

Tab two, the pricing comparison. Build a plan by plan pricing table across all competitors, assembled from the schema-extracted fields on the most recent pricing capture for each one. It should cover plan name, price, billing period and the headline features of each plan, laid out so I can compare the same tier across companies. Flag any plan whose price differs from that competitor's previous capture, so the table doubles as a record of who just repriced. This is the one place in the app where I read the whole market at once rather than one competitor's history.

Finding pages we do not track yet. Put a search box on the wall backed by the Browserbase Web Search operation so I can hunt for a competitor's new product page, a press mention, or a pricing page I did not know existed. Show the structured results with their titles, URLs and metadata, and give each result an add to watchlist button that appends a new row to the sheet with Append Values, prompting me for the competitor name and page type first. Going from a search result to a tracked row should take one click.

Sharing. A Share button composes a summary of this week's changes across the wall, covering which competitors moved, what changed, and any notes we wrote, then posts it to our Slack channel with the Send a Message operation. Let me edit the summary before it goes and choose the channel. Nothing posts to Slack automatically. The summary goes out only when I press the button.

The audience is product marketing, not engineers, so the whole wall should read like a briefing: plain language first, the change up front, and the raw capture always available but never in the way.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentLocal listing health board for every location you manageWin back LiveChat visitors whose chats went unansweredLet support send one-off Loops emails without an engineerStop cold emails to anyone with a live deal in PipedriveiMessage campaign console with pre-flight checks and delivery boardChat quality review board for LiveChat support leadsLinkedIn Ads budget pacing dashboard for every client accountFront desk appointment confirmation board for the next 3 daysGive your team Looker numbers without buying more seats