Find the buyers already in your LinkedIn network.

We scored every connection for $0.73, then open-sourced the cookbook. It reads the whole list, tells you who fits your ideal customer, and flags the job changes worth a conversation.

Brandon Charleson·Free, MIT licensed·Built on Jev by TypeSafe
LinkedIn and Jev
$0.73
to score an entire LinkedIn network
40%
of connections fit the ideal customer
11 min
to work through the whole list
$0.00
to re-check when nothing has changed

Measured on a real network on September 22, 2026. Only job titles and company names were sent to the model. Names and emails never left the laptop.

Why we built it

Most teams chase cold lists while the people who already know them sit untouched. Three things kept it that way.

The list you already own

Most people have thousands of first-degree connections and no idea which of them could buy what they sell. These are people who already said yes to you once.

The moment you keep missing

A promotion or a new job is the best reason to start a conversation: new budget, new priorities. It scrolls past in a feed once and then it is gone.

The math that never worked

Reading thousands of profiles by hand takes weeks. Asking a chat model for a paragraph on each one gives you a pile of text to read, not a list to sort. So nobody does it.

What it does, in plain English

One file in, one ranked list out. Here is the whole thing in three steps.

1

Download your connections

LinkedIn lets every member export their own connections as a spreadsheet. That one file is the only input.

2

Describe who you sell to

In your own words: what you sell, who buys it, and who does not.

3

Get a ranked list

Every connection gets a 0 to 100 fit score and a group, like founder, sales leader or marketing leader. Sort by fit and start at the top.

Then it keeps watch

Export again in a week or two and it compares the two lists. New titles and new companies get flagged, and each change is sorted into reach out, review or ignore. That is your reason to start a conversation, handed to you.

Your contacts stay on your machine

Only three things are sent to the model: the job title, the company name, and your description of your ideal customer. Names, email addresses and profile links stay in a database on your own computer.

There is no scraping and no browser automation. The only input is the export LinkedIn gives every member.

What Jev is, and why it fits outbound

Most AI tools write. Ask a chat model about a prospect and you get a paragraph that a person has to read. Jev, a model from TypeSafe, does something narrower. You ask it a small question and it answers yes or no, picks one option from a list, or gives a score, along with how sure it is.

A number can be sorted and acted on by ordinary software with nobody reading anything, and each answer costs a fraction of a cent. Outbound is made of exactly these questions. Right person? Real buying signal? Is this reply an opt-out? Did the AI invent that detail?

Software1

Save the list

Each export is stored by date, so there is always something to compare against.

Jev2

Judge each role

What kind of person is this, how senior, how close to your buyer? Asked once per distinct role.

Software3

Spot what changed

Today’s export is compared with the last one. Noticing a new title needs no AI at all.

Jev4

Read the change

Promotion, sideways move or just a reworded title? Does the new role buy what you sell?

Software5

Sort the pile

Your own cutoffs decide what happens next: reach out, review or ignore.

You6

Write the message

You, or a writing model, draft the outreach. Jev returns numbers, never text.

Software does the bookkeeping. Jev makes the two judgment calls in the middle. You keep the part that needs a human.

What we found

Including the parts that did not work. Every recipe reports its misses and the fix.

40% of the network was a fit

40% scored 60 or higher out of 100, and nearly 1 in 4 scored 80 or higher. Seniority alone is not fit: VCs, managing partners and CIOs came back senior but not buyers.

Job titles carry the signal. Company names do not.

Given only a company name, Jev answered "cannot tell" 71% of the time. Adding a company description from a data provider fixes it.

Asking about ten people at once is faster, and wrong

Putting ten people in one request moved the answers ten times more than the model’s own run-to-run noise. So every person gets their own request, even though it is slower.

Vague questions get vague answers

"Is this a good time to reach out?" scored between 42% and 73% across very different cases. "Does the new role buy this?" spread them from 14% to 77%.

Where it falls short

  • It only knows what the export contains: a job title and a company name.
  • It is only as fresh as your last export. There is no scraping, on purpose.
  • A probability is not a fact. Check the results against people you know before you trust a cutoff.

15 recipes, one outbound loop

Scoring a network was the first recipe. The same idea covers the rest of outbound. Each recipe answers one question a founder or a rep asks every day, and each comes with real saved answers, so you can see the results before you set anything up.

Run it on your own network

This part is for whoever is comfortable in a terminal. Three steps, and there is a demo with made-up data if you want to look before you set anything up.

1

Export your connections

In LinkedIn: Settings & Privacy → Data privacy → Get a copy of your data, and choose the larger data archive. LinkedIn emails you a file called Connections.csv.

2

Add a key and describe your customer

Create a TypeSafe key, then write what you sell and who buys it in a short settings file.

3

Run one command

You get a spreadsheet with one row per connection, or a dashboard in your browser if you would rather click.

git clone https://github.com/bcharleson/jev-gtm-cookbook.git
cd jev-gtm-cookbook
npm run demo                                   # fictional data, no key needed
npm run score -- ~/Downloads/Connections.csv   # your network, with TYPESAFE_API_KEY in .env
npm run enrich -- prospeo --min-fit 60         # refresh titles; only changes are re-judged
npm start                                      # dashboard on http://localhost:4173

Node 22.13 or newer, zero dependencies. Enrichment adapters for Prospeo, LeadMagic, BlitzAPI and MoltSets. MIT licensed. Not affiliated with LinkedIn or TypeSafe.

Common questions

Do I need to be technical to use it?

Someone has to paste a few commands into a terminal once. After that there is a dashboard in your browser where you upload the file, run it and browse the results. If that is not you, hand this page to whoever looks after your tooling.

What does it cost?

The cookbook is free and open source. Jev is paid by usage: scoring 1,000 connections costs about 4.5 cents at the time of writing, and re-running on a list that has not changed costs nothing.

Does it scrape LinkedIn?

No. It reads the export file LinkedIn provides to every member. Nothing logs in to your account, which also means a job change shows up only when you export again.

Does it write my outreach?

No. Jev returns numbers, never text. The cookbook tells you who to talk to, when to do it, and whether a draft is any good. You, or a writing model, still write the message.

Can I use it on a lead list instead of my network?

Yes. Recipe 13 scores any spreadsheet of leads and can refresh job titles through Prospeo, LeadMagic, BlitzAPI or MoltSets.

How accurate is it?

Jev gives calibrated guesses, not facts. Look at 50 to 100 of your own results, decide which ones you agree with, and move the cutoffs until the reach-out list is one you would actually act on.

Want this running on your whole market?

The cookbook is the free version. We build the full signal loop for GTM teams: enrichment, job-change and hiring signals, reply triage, and routing into your CRM.

Get the repo on GitHub

Built by

Brandon Charleson

Founder, Top of Funnel · GTM engineering · Clay · Instantly · n8n