Four screens, four different mechanisms — not one algorithm wearing four hats. This page is honest about which ones actually rank things and which ones don't.
The only screen with a real, weighted score.
| Referral power | 35% |
| Familiarity (recency or tenure) | 25% |
| Discipline fit with the role | 20% |
| How many people you know there | 12% |
| Shares an email (reachable off-platform) | 8% |
Below 30/100, that connection is not offered as a route in at all — no match is shown through them, for any role.
| Discipline match (your field vs. the role's) | 55% |
| Seniority gap | 45% |
| Domain keyword overlap | up to +0.15 bonus |
Seniority is asymmetric: a role above your level is a stretch, not a penalty. Three levels or more below your level caps the score outright — that is a different job, not a lower-ranked one.
Everything above is inferred from your LinkedIn export. Criteria are what you tell us directly, and they apply live — edit them on your profile and every Matches page reflects it on the very next load, with no re-upload. A rejection removes a role outright (a location you did not list, a salary ceiling below your floor); a boost only reorders roles that already cleared the bar. Absence of data never counts against a role — an opening with no published salary is not assumed to be a low one.
One more thing worth knowing: the same company is capped at 3 matches shown, so a company with 40 open roles does not bury every other door in your network.
Not a scored ranking — a sort order over companies you know people at.
There is no weighted formula here, and nothing your criteria affect. The sort control on /network picks one of four deterministic orderings, in order:
Ties break by connection count, then alphabetically — always deterministic, never randomised.
The same weighted strength score as Matches. No new formula.
/network/people lists your own connections as individuals. The number beside each one is exactly the connection-strength score explained under Matches above — their title, how long you have been connected, whether they shared an email, and how many people you know at that company. It is recomputed as you load the page rather than stored, so it stays honest as time passes.
“On Your Roster” means that person has their own account here. That matters because of a hard limit worth stating plainly: the file LinkedIn gives you contains your connections and nobody else’s. There is no legitimate way for us to know who your connections know — no vendor sells it, no API exposes it, and scraping it would break both LinkedIn’s terms and our own promise to you. The only honest source is that person uploading their own export. That is the entire reason the invite exists.
An invite is a message you send. We generate the wording and a link, you copy it and send it yourself — the same rule as every intro draft on this site. We never hold an email address for someone who has not chosen to be here, and we never contact anyone on your behalf.
Nothing is shared by accepting. Someone joining through your invite does not expose their connections to you, or yours to them. Letting your network be searched for introduction paths is a separate, explicit choice that does not exist yet and will be off by default when it does.
Some rows ask whether we identified the right person. We match connections across accounts by LinkedIn profile link first and a hashed email second; when a file gives us neither, we fall back to matching on name and employer, which can be wrong. Those are the only rows that ask, and answering “someone else” never removes anyone from your connections or your matches — it only tells us not to trust that identification.
The same strength model as a direct match, multiplied along the chain and discounted per hop.
If you do not know anyone at a company, but someone you know does — and they have turned on sharing — we show the route: You → Dana → Priya. The score is built from the same weighted connection strength explained under Matches, composed across the chain:
path strength = strength(You→Dana) × strength(Dana→Priya) × 0.7
Multiplied, not added, because a chain is only as strong as its weakest link — adding would let two lukewarm relationships outrank one excellent direct contact. The extra 0.7 is a further discount for the hop itself: a two-hop ask spends someone else's goodwill, not just yours, and that is a real cost even when both links are strong. A direct match passes through this formula unchanged, so nothing about your existing ranking moves.
That 0.7 is a guess. It is tunable and we have no data yet on how often two-hop asks actually convert. We would rather say so than imply it was derived from something.
Most people will see nothing here, and that is expected. The file LinkedIn gives you contains your connections and nobody else's, so a path can only exist where someone you know has joined, uploaded their own export, and explicitly turned on sharing. All three, or there is no path. That is why inviting people is the thing that makes this work — not a growth tactic, a structural requirement.
Three rules a path always obeys: it never routes through someone who has not opted in, it never routes through someone who does not have an account, and it never uses a connection we matched by name alone unless its owner confirmed we identified the right person. A path we are not certain of is not shown at all.
No ranking exists here at all.
Every company you add to your watchlist is monitored on the same six-hour schedule, with the same scrutiny — nothing about how you added it or when changes that. The signal-type checkboxes next to each company do not affect monitoring or ordering at all; they only control which types of signal (funding, exec change, expansion, hiring signal) trigger an email to you for that specific company. Uncheck everything and the company is still watched, you just will not be emailed about it.
Confidence comes from a live model call, not a formula — there are no weights to show.
Every signal on /signals is Claude reading one primary source — an SEC filing or a news headline naming the company on a word boundary — and returning a confidence score for whether it is a real hiring-adjacent signal. That number is a model judgment made fresh each time, not the output of a weighted sum the way Matches is. There is nothing to compute or explain beyond "the model read this and scored it this way."
One real, fixed number does gate what reaches your inbox: signals scoring below 60% confidence are recorded and shown on the page, but never emailed — the product would rather miss one than cry wolf. That floor is currently a system-wide setting, not yet adjustable per person; if you want it tuned, that is a real request, just not something this screen can do today.