Skip to content

Mercury Apex is Mercury Technology Solutions' competitive intelligence product. It watches competitor pages on a cadence, diffs real content changes, weaves every signal into a context graph, and delivers a morning brief with a recommended move. Lens is the console: one graph, a feed, a brief. Apex does not scrape review sites.

Competitive intelligence, competitor page watching, content diffs, context graphs, morning briefs, operator-facing CI

Mercury Technology Solutions, Mercury Apex, Mercury Lens, competitive intelligence, context graph

[ SYS: MERCURY_APEX // STATUS: LENS ]

Day 30 should be
smarter than day 1.

Mercury Apex watches your competitors on a cadence, diffs what actually changed, and weaves every signal into a context graph. The brief in the morning is not a digest. It is a recommendation — with the snapshot it came from.

LENS — LIVE

Demo graph. Run the watcher to replace it with live intel.

CompetitorHomepageCareersPricingHiringBrief
3Watching
1New

Move: update the TCO one-pager today.

Definition

What Mercury Apex is

Mercury Apex is competitive intelligence that remembers. A watcher fetches the pages you name. A diff tells you that something moved. A graph is where the product actually starts: every signal is a node, every shared entity is an edge. Lens is the console — one graph, a feed, a brief. The gathering is easy. The connecting is expensive.

Key takeaways
  • Apex watches the pages you name, diffs real changes, and weaves every signal into a context graph.
  • The morning brief is a recommended move with a citation — not a digest of everything.
  • Day 30 is denser than day 1 because the graph remembers. Monday is a continuation.
  • Lens is the console: one graph, a signals feed, a brief.
  • We do not scrape G2 or Capterra. Apex watches properties you are allowed to fetch.
The pile problem

You already have the gathering. You don’t have the connecting.

Klue shipped a price. Crayon changed the hero. Someone posted five ML roles. Your stack caught all of it — as three unrelated alerts, in three tools, none of which know the others exist.

01

Alerts don’t remember.

Alerts

Yesterday’s pricing change is not linked to this week’s hiring spike.

02

Prompts don’t either.

Prompts

A fresh chat about “what did Klue do” throws away last month’s graph.

03

Battlecards rot.

Cards

The page the rep is holding is three moves behind the site you could have been watching.

How a watch runs

Fetch. Diff. Weave. Brief.

01

Watch the pages that matter.

Homepage, product, careers, articles — on the cadence you set. Cosmetic HTML churn is stripped so a class name does not become a “signal.”

02

Diff against yesterday’s snapshot.

First run is a baseline. After that, only real content changes land.

03

Classify and score.

Launch, pricing, hiring, messaging, weakness, and the rest — triaged, then scored for urgency. Optional model pass writes the summary and the recommended move; it only runs when something actually changed.

04

Weave it into the graph.

The new node attaches to a competitor you already know. Orphans are the exception, not the product.

05

Wake up to a brief.

Top moves, a concrete next action, and a citation back to the snapshot. Quiet nights say so. Broken URLs do not pretend to be quiet nights.

We do not scrape G2 or Capterra. Those walls block non-browser clients, and a 403 is not a strategy. Apex watches properties you are allowed to fetch.

The console

One graph. A feed. A brief.

Lens is the console. Apex is the brand.

01

Context graph

Every competitor, page, and signal is a node. Clusters form around pricing, messaging, GTM, risk. Hover a node, see what it is tied to. Click through to the signal. Density is a feature: it means the watcher connected something, not that we drew a prettier hairball.

02

Signals feed

Urgency first. Before / after. A recommended move. Ack it when you’ve acted. Copy a link into Slack. This is the triage queue, not the memory.

03

Morning brief

“Watching 3 competitors · 1 new · 0 fetch errors.” Then the line that matters: what to do. If the watchlist is unhealthy, the brief says so. We would rather page you about a 404 than congratulate you on a quiet night you did not earn.

For teams

Who it’s for

01

Compete and product marketing

You need the move, not the raw HTML.

02

Sales enablement

The brief is the input to the card, not a folder of PDFs.

03

Founders watching a short list

Three competitors, seven pages, an hourly agent, no platform to implement.

04

Agencies

One watchlist per client (the product is headed there; the watcher already takes a config).

A morning

Example — not a customer quote

Two edges in 48 hours: entry price up, 15-seat floor, five ML roles posted. Repricing up-market while staffing an AI build-out.Move: update the TCO one-pager today. Do not wait for the QBR.

Get a watch running

Put the watch on. Read the brief tomorrow.

Point Apex at the competitors you already lose sleep over. Tomorrow morning you’ll know whether they moved — and what the graph thinks you should do about it.

Watcher is stdlib Python. Console is the graph. No account required to run it locally.

FAQ

Questions operators actually ask

Does it replace Klue / Crayon / the rest?
It replaces the part those tools are worst at: connecting this week’s move to last month’s. Use Apex as the analyst layer on top of whatever you already gather — or as the gatherer, if your list is a handful of URLs.
Is the first run empty?
Yes. The first sweep is a baseline. That is correct behaviour. Signals start on the second real change.
Will it invent urgency?
A class name on a div is not a launch. We normalise the page, hash the text, and ignore cosmetic churn. Fresh pricing is scored high; a docs tweak is not.
Does a person still decide?
Yes. Apex drafts the move. You ack it. The graph keeps the evidence either way.
Where does the brief land?
In the console, in brief.md, and optionally on a webhook or SMTP. The hourly agent is already a LaunchAgent (or cron). It does not need you to open the laptop first.