All recipes

Cartography for a category

A category market map of 858 US venture-backed software and security scale-ups, enumerated with exact Trayo filters, widened with lookalikes, and coloured by a 90-day momentum…

Built in
22 min
Capabilities
4
Live API calls
35
Get the prompt
Sound off

The prompt

Paste it into any coding agent with the Trayo MCP connected.

  • Claude Code
  • Codex
  • Cursor
  • + any MCP client
Use Trayo to build a category market map. Let me name a category and its
constraints — industry, headcount band, country, funding stage — then enumerate
every matching company with exact filters and page all the way to the end, and
widen the long tail with lookalikes seeded off the 20 clearest examples.
Map the whole category, but run momentum discovery only over a sub-segment I
pick, so the expensive half is bounded: for those companies, turn hiring and
news event volume and recency over 90 days into a momentum score. Render an
interactive treemap grouped by sub-segment, sized by headcount, coloured by
momentum, plus a size-versus-momentum quadrant. Be explicit wherever a search
was truncated or came back degraded, so I know which edges of the map are real
and which are just where the data stopped. Let me export any cell as an account
list.

Known constraints for this build:
enumeration is cheap to describe and expensive to run — `find` is metered per search and sits in the 7/min bucket, and discovery cost scales accounts × signals. Bounding momentum to a chosen sub-segment is what makes this finishable. `accounts/lookalikes` is unmetered and synchronous, so lean on it.

What this app asked Trayo for

Every name, number and email on the page came back from one of these. None of it was typed in.

  • Reads your workspace

    What you sell, who you sell to, and the buyer personas already saved in Trayo.

  • Finds companies

    Surfaces accounts that match your ICP, plus lookalikes of the ones already working.

  • Watches for buying signals

    Standing watches for job changes, funding and the other moments worth a reply.

  • Reads social activity

    Posts and the people engaging with them, for plays that start from a conversation.

Take the tour

The same run as the video above, one stop at a time.

  1. 01 Before a first call in a category, a rep needs to know what's in it and where it's moving. This is a category market map for any category our reps get handed. Here it's 858 US software and security scale-ups, built on Trayo.

    Before a first call in a category, a rep needs to know what's in it and where it's moving. This is a category market map for any category our reps get handed. Here it's 858 US software and security scale-ups, built on Trayo.

  2. 02 Scroll down and the quadrant splits every account by size against momentum.

    Scroll down and the quadrant splits every account by size against momentum.

  3. 03 Open Computer and Network Security and the tile becomes the actual account list behind it.

    Open Computer and Network Security and the tile becomes the actual account list behind it.

  4. 04 Momentum gets its own page, because the intended source, run_discovery, settled cleanly with zero events.

    Momentum gets its own page, because the intended source, run_discovery, settled cleanly with zero events.

  5. 05 Large and moving is the quadrant to open first: big headcount, recent arrivals, live LinkedIn posts.

    Large and moving is the quadrant to open first: big headcount, recent arrivals, live LinkedIn posts.

  6. 06 Four companies returned hasMore, so their counts are floors, and the two failed calls are named.

    Four companies returned hasMore, so their counts are floors, and the two failed calls are named.

How it was built

The data behind each screen, and what's faked for the demo.

A salesperson who has just been handed a category, say US software and security companies of 101 to 2,000 employees with a funding round on record, needs to know what’s in it and where it’s moving before the first call. They open a treemap of 858 companies grouped by sub-segment. Tiles are sized by headcount and coloured by 90-day momentum, and a size-versus-momentum quadrant sits beside it. Any cell exports as a CSV account list: one sub-segment, one quadrant, or the whole map. I made it as a demo for Gong, against a real Trayo workspace.

The alternative is running filtered searches one at a time, pasting the results into a spreadsheet, and then opening LinkedIn and a news tab per company to guess which ones are active. That spreadsheet is stale by the time it’s finished. Here the enumeration, the widening and the momentum read come from one workspace. Every search that came back truncated or empty is listed per search on the Coverage page, so the salesperson can tell which edges of the map are real and which are only where the data stopped.

I started with find_companies and exact filters, and it took sixteen calls to get 91 companies. That’s small because the enumeration kept hitting a scan budget. Asking for all six industries at once returned 8 rows with a note that the budget ran out on “software development”. That industry alone returned 43 and was flagged truncated. Splitting it into headcount bands recovered 79 across five cells, and each of those cells came back with stopReason “exhausted”. I then used find_lookalikes, which is unmetered, to widen the tail. One pass took 20 seeds and returned 500 companies. A second took 20 security seeds and returned 300. Together they account for the other 767 companies. Both passes returned exactly the number of rows I asked for, so that edge of the map is my limit and not the end of the data.

I bounded momentum to one sub-segment, security, at 319 accounts. The intended source didn’t work. A discovery run over all 319 accounts and all seven hiring and news signals at a 90-day lookback settled cleanly with zero events, zero blocked signals and zero failed checks. A control run over Snyk, Imperva and ReliaQuest across all nine signals at a 365-day lookback also returned zero, in eleven seconds. Discovery finds nothing in this workspace, so I rebuilt momentum from two endpoints that do work. search_job_changes, one call per account, gave 4,774 dated arrivals across 282 companies in the 90-day window. search_posts over four category topics gave 162 real LinkedIn posts that matched 16 scope companies. Four companies returned hasMore, so their counts are floors, and two calls failed outright and are named in the app. The 539 companies outside security were never scanned, so their tiles are grey rather than cold, and the legend and tooltips make that distinction.

The company data, the lookalike widening, the job-change counts and the LinkedIn posts are all real and came from Trayo. The momentum score is my construction from those two sources, not a discovery result. The Salesforce, Slack and sequence buttons are previews that show what would have been sent. No such integration is connected, so nothing leaves the app except the CSV export.

Right signal. Right person. Right now.

$39/month • 7-day free trial • Cancel anytime

Start for free Start for free

Try Trayo

Drop in your work email, we'll spin up your account and email you when it's ready.

Already have an account? Sign in