Champ-select companion for League of Legends

See the pick before you lock it.

Scrypick ranks every option for your role by measured matchup, synergy, and your own mastery. Calibrated, never hyped.

Example output, you are BOTTOM (blue side)
Kai'Sa best picksynergy with your Lulu, scales with the comp52.6%
Kalista riskenemy Draven punishes this lane (130 games)51.9%
Xayah tiesafe blind, your 240k mastery51.1%
Game plan
▲ Top favored ▼ Mid uphill Enemy damage skews AD
Top picks are often statistical ties. Scrypick says so instead of faking a ranking.

What it shows you

During champ select, Scrypick reads your specific lobby and ranks the candidates for your role. Not a tier list: this draft, these players, your champions.

  • A calibrated win chance55% means about 55%. When the top options are statistical ties, it says so instead of inventing a winner.
  • Measured matchups and synergyCounter and pairing edges measured from a ranked-game corpus with sample sizes attached, not a hand-maintained table.
  • Your mastery, not the average player'sRanks champions you actually perform on, from each player's champion-mastery record and the lobby's ranks.
  • A game plan before minions spawnnewWhich lane to play through, which to cover, and how the enemy comp shapes fights. Every line traces to a measured table.
  • Comfort-risk scoutingnewA risk flag when a locked enemy holds a measured counter to your pick, with the sample size that backs it.
Scrypick overlay during champ select: ally and enemy rows with champion portraits, a damage-profile comparison, the recommended pick with its calibrated win chance and a matchup, synergy, base, and comp-fit value breakdown, plus ranked alternates.
The overlay in a live champ select. Read-only, advisory, nothing is clicked for you.

A briefing, not a vibe.

Other tools generate a "game plan" with a language model and hope it sounds right. Scrypick composes yours from the tables it already measures, so every sentence can be audited against the data that produced it.

Example briefing
Play throughTop. Your Garen holds a measured edge in this lane. (+2.1pp, 96 games)
CoverMid is uphill. Trade safely until your jungler can influence it. (-2.9pp, 80 games)
FightsEnemy lacks hard engage. You choose when fights start.
ItemizationEnemy damage skews AD. Armor rules the fights.
The honest part

How we measure

Draft-prediction numbers are easy to inflate. Ours look lower on purpose, and this is the reason to trust them.

  • Tested forward, not in-sampleWe train on past patches and score the next one. Our honest forward score is about 0.54 ROC; the same model reads higher on a random split that lets it peek at the live meta. We report the forward number.
  • No champion win-rate featuresFeeding a model recent champion win rates flatters the score but mostly re-reads the meta, and leaks when the window overlaps the test games. We tested it: it leaks or adds nothing. We use champion identity, your mastery, and the lobby's ranks instead.
  • Draft win chance is low-resolutionA ten-champion draft does not decide a thirty-minute game, so forward win probability is near-coinflip for everyone. We say so, flag statistical ties, and lead with the sharper signals: matchup, synergy, and your mastery.
  • Calibrated, not flatteringWhen we show a win chance it is calibrated: 55% means about 55%. A bigger advertised number usually comes from an easier target or a looser test, not better advice.

How it works

A thin, read-only overlay on your machine talks to a hosted backend that does the modelling. One production key serves every user; no key ships to your machine.

  1. Read. The overlay reads champ-select state from the League client's local API (LCU), read-only. No automation, no input simulation.
  2. Look up. The backend resolves the lobby's players and fetches their ranked tier and champion mastery server-side.
  3. Score. The model evaluates each candidate for your open slot, conditioned on the board, ranks, and mastery.
  4. Show. Top picks with a calibrated win chance, risk flags, and a short reason. You make every decision.

How Scrypick uses the Riot API

Transparent by design. Official Web APIs only, rate-limited, no scraping, no write endpoints.

APIWhyWhen
Account-V1Resolve lobby players (Riot ID and puuid) for rank and mastery lookupslive
League-V4Per-player ranked tier and LP, a model inputlive
Champion-Mastery-V4Per-player champion mastery, personalizationlive
Summoner-V4puuid and summoner id where an endpoint requires itlive
Match-V5Ranked match outcomes to train the modeloffline
LCU (local client)Read champ-select state on your machine, read-onlylocal

No spectator, tournament, or write endpoints. We respect every returned rate-limit header and self-throttle below it.

Responsible and ToS-safe by design

Built to pass a compliance review, not to dodge one.

Read-only client

The LCU is used only to read the draft. No auto-pick, auto-ban, auto-accept, auto-dodge, or simulated input. You decide everything.

No unfair advantage

Output is informational and available before you lock, the analogue of reading a stats site. It does not act in-game.

Honest about limits

Draft is one noisy factor in a win. We show calibrated estimates and flag statistical ties. We do not promise wins or LP.

Minimal data

Short-lived puuid-keyed caches for a single draft. No per-player profiles, no selling Riot data. See the privacy policy.

Contact

Questions, data requests, or Riot review: contact@scrypick.com