Competitor research

Keep track of what competitors charge and ship.

You keep a running picture of three or four competitors — what they charge, what they shipped, who they’re hiring — and it goes out of date faster than you can build it. A price you checked in April is wrong by July. The free tier you wrote down was retired on a Tuesday you weren’t watching. Nothing announced any of it. It just changed under you.

You keep working in ChatGPT or Claude the way you do now. Giraffe is where the number you checked in April is still there in July, next to the one that replaced it.

Half of what you wrote down in April is wrong by July

It never arrives from one place. Their pricing page on a Tuesday night. A changelog post somebody linked. Nine reviews saying the same thing about imports. A podcast where their head of product says more than they meant to. A job posting that tells you what they’re building six months before they ship it. You paste each one into ChatGPT or Claude, get it read back to you in plain terms, and move on to the actual work.

Eighteen months of that is forty-odd facts about three companies, gathered across sixty sessions in two different assistants, with no way to tell which of them are still true. You can’t remember whether the $69 came off a pricing page or off an invoice, and those are not the same number. So you either check the lot again from scratch, or you don’t — and quote April’s price to somebody who pays the July one.

What Giraffe keeps

When you find something out, you tell your assistant to write it down: “Save that to my competitors project — Cadenza is $89 a location now, from their pricing page today.” It lands under headings that don’t move: what’s current, what you’ve decided, what’s still open, and where each thing came from.

Giraffe doesn’t watch Cadenza’s pricing page. It has no view of the web and no view of your chats, and it will never prompt you to confirm anything — you check, or you ask an assistant to check, and then you say what you found. What it does is hold one live value per fact. Save a new price and it takes the row; the price it replaced stays underneath, dated, with whether you or an assistant wrote it. Here is how Giraffe works, step by step.

Three competitors, eighteen months, one page

Say you sell booking software to salons and studios, and the same three names come up on every demo call. You’ve been keeping up with them in the cracks of the week — ten minutes on a pricing page, an evening working out what a funding round means for next spring, a Sunday reading reviews of the tool you lose to most. Saved as you go, it comes out as one page:

Competitors

The three that come up on every demo call

Updated three weeks ago
Current
Cadenza price
$89 per location a month since April 1 — the second location stopped being free in the same change
Marlin free tier
Gone. Retired June 1; new signups get 14 days, then $49 a month
Kestrel raise
$12M in May, led by Fernbrook. Six sales roles open since, and every posting says outbound — which they have never done
The soft spot
None of the three import appointment history from a spreadsheet. Eleven reviews since March say it in different words
Decisions
  • Don’t match Cadenza on price. Every deal lost on price last year went to Marlin’s free tier, so the $89 was never the thing beating us.
  • Lead the demo with the spreadsheet import. It’s the first ten minutes of switching, and none of the three do it well.
Open questions
  • Whether Marlin retiring the free tier reopens the pricing call. It was the free tier taking those deals, and since June there isn’t one.
Notes
  • Their published price and their contract price are not the same thing. Two studios that switched showed me invoices $20 under the number on the page.
  • Kestrel’s changelog is marketing. The release notes in their help centre are the real one, and they run about three weeks ahead of it.
Sources
  • Cadenza pricing page, checked July 3
  • Marlin changelog, June 1 — “Simplifying our plans”
  • Eleven app store reviews since March, all about the import
  • Kestrel’s head of product on the Fully Booked podcast, May 14
  • Two switching studios’ invoices, April and June
Recent changes

Three weeks ago · You

Cadenza price$69, second location free$89 per location a month

In June · ChatGPT

Marlin free tierFree up to 50 bookings a monthRetired June 1 — 14 days, then $49

In May · Claude

Kestrel raise$12M led by Fernbrook

Nothing is captured automatically. Giraffe has no view of your conversations — only what you ask your assistant to save, or type in yourself.

Forty facts, two decisions

Look at the shape of that card. The Current block keeps moving and the Decisions block almost never does — two calls in eighteen months, off dozens of facts. That ratio is what competitor research actually is, and it’s why the pile of facts is worth keeping somewhere other than your head: the two calls are the output, and each one has to be defensible eight months later, when a salesperson asks why you don’t match Cadenza on price.

The other thing that card shows is where the change came from. When the Cadenza row moved from $69 to $89, it wasn’t you changing your mind — it was Cadenza raising a price on April 1, and quietly putting the second location behind the higher plan while they were in there. Your note was right when you wrote it and wrong four months later, without you having done anything wrong. That’s why the old value is kept instead of overwritten. “They were free up to 50 bookings until June” tells you more about Marlin than “they charge $49” ever will, and one of those facts is the reason the pricing question is open again.

The dates on the change strip are the day you wrote it down, not the day it happened — Cadenza moved in April and you caught it three weeks ago. Both belong on the page, which is why the date the world changed goes into the value itself and the date you found out sits beside it. Six months on, the gap between those two is its own useful fact.

Where a number came from is half the number

A published price, a price in a contract a switching customer showed you, and a price a salesperson quoted on a call are three different things, and in six months they all look identical in your notes. So the sources sit in the project with the facts — which page, which review thread, which date you checked. When a number starts to look wrong, the question that gets you moving isn’t what you wrote. It’s where you got it, and when. Same job the project does for a long piece of research, on facts with a much shorter shelf life.

A few more questions

Does Giraffe check competitors’ pricing pages for me?
No. Giraffe doesn’t watch anything and will never ask you to confirm a value — it has no view of the web and no view of your conversations. You check, or you ask ChatGPT or Claude to check, and then you tell it what to save. What Giraffe holds is one current value per fact, with the date you saved it and the value it replaced kept underneath.
How do I keep track of where a fact came from?
You say where it came from when you save it — the pricing page you were reading, the review thread, the date you checked — and the project keeps those sources alongside the facts they back. That matters in competitor research more than most work: a price on a pricing page and a price on a switching customer’s invoice are both true and rarely the same number.
What happens when a competitor changes their price?
You save the new price and it takes over the row. The old one is kept behind it, dated, with whether it was you or an assistant who wrote it down. The history is the part that earns its keep: knowing a competitor charges $89 is worth much less than knowing they charged $69 until April, and moved the second location behind the higher plan in the same change.
Can I send what I’ve gathered to someone else?
A Giraffe project is yours alone — there are no shared projects, no team accounts and no administrator, so nobody else can open it. If you want to give someone one piece of it, a single document can be shared read-only by link. You can delete any of it whenever you like.

Every number, with the day it was true.

Free. An email code gets you in — no password to invent, no card, nothing to install.

Works on every Claude plan — Free allows one custom connector at a time, and on Team or Enterprise an owner has to add it first. ChatGPT needs a paid plan, on the web, with Developer mode turned on, and it won’t work inside a ChatGPT Project. Reading works there; whether saving does depends on your plan and your workspace, and ChatGPT asks you to approve each save by default. Gemini works through Spark: add Giraffe as a custom app on the Gemini web app (a personal Google Account, set up on the web; availability depends on your Gemini plan and Google’s rollout), then use it from Spark rather than an ordinary Gemini chat. See the setup guides.

Related: keep AI research in one place · keep the decisions you make with AI · all use cases.