Every social scoring tool wants you to believe it has a secret model. A proprietary ranker, trained on billions of impressions, that knows exactly what the feed will do with your post. It's a good story. It's almost never true, and when it is, the number it spits out is unauditable.
We took the boring, honest path instead. PostScore is a Claude Sonnet model run as a judge, with forced tool use so it has to return a typed score object instead of a paragraph of vibes. It does not free-associate. It grades against a written evidence base of how LinkedIn's ranking actually behaves: what earns dwell, what earns saves, what gets buried.
Forced tool use is the whole trick
A chat model asked to 'score this post 0-100' will happily give you 82 and a vague reason. Ask it twice and you'll get 79 and 85. That variance is death for a tool people are supposed to trust. So we don't ask it to talk. We give it one tool, a strict schema, and force the call.
{
"overall": 87,
"breakdown": {
"hook": 23,
"algorithm_fit": 18,
"specificity": 14,
"structure": 11,
"voice": 14,
"engagement": 7
}
}The schema is the contract. The model fills it in or the call fails. That alone removes most of the drift, and it means the score is a structure you can act on, not prose you have to parse.
What we won't claim
We used to have a line on the site about running a self-hosted ranker at low latency. We pulled it, because we don't. 360Brew is LinkedIn's real ranking model, and we use it the honest way: as part of the evidence base the judge grades against, not as something we host.
We'd rather tell you what runs today than ship a number we can't stand behind.
Where this goes next is a calibrated ranker trained on real outcomes, scoring dwell and reshare likelihood directly. That's on the roadmap. It is not in the box yet, and we'll tell you the day it is.