A match list that grades itself
Every game you've played, newest first — champion, queue, role, KDA, CS, duration, and the mark it earned. Wins and losses are colour-coded down the left edge, and anyone you queued with shows up inline.
A desktop tracker that pulls your League match history straight from the official Riot API, scores each game against the nine people who were actually in it, and keeps the whole thing in a JSON file on your own disk. No account. No upload. No scraping.
Free, no installer, no telemetry · Needs a free Riot developer key (RGAPI-…) —
we'll walk you through getting one
76.8
127.9
55.4
36.1
98.4
47.2
66.5
149.1
117.7
86.9
64.8
168.1
57.0
106.6
77.3Win rate tells you what happened. These tell you how you actually played, who you played with, and how far you've got left to go.
Every game you've played, newest first — champion, queue, role, KDA, CS, duration, and the mark it earned. Wins and losses are colour-coded down the left edge, and anyone you queued with shows up inline.
Each game is scored against the other nine players who were in that exact lobby — so a support and a mid laner are judged on their own terms, and no external "average player" data is needed. See how it's calculated →
Riot exposes no "who did you queue with" endpoint. So the app tallies teammates across your whole history — anyone who shows up on your side twice or more is a real premade, not a random. Random players never repeat.
Flip one switch and the grid stops counting games played and starts counting champions won with. A green tick per conquered champion, a live progress bar, and the count of attempts it took you.
Matches land in a plain JSON file in your user folder. Your API key stays there too. The window itself has no network access at all — every request happens in the main process, behind a strict content-security policy.
Every number comes from Riot's own match-v5 endpoint — all queues, all regions, exact per-champion K/D/A. No third-party site to go down, get rate-limited, or quietly change its HTML.
For each of seven metrics the app ranks you among all ten players in that game — 0 for worst, 1 for best. Those ranks are blended by the weights below, nudged slightly for the result and for multikills, then mapped onto a 0–10 score and a letter.
Marks are stored per game and rolled up into an average per champion and one overall, shown in the header. Games synced before v1.2.0 are back-filled automatically.
Grab the app, paste in a free Riot API key, hit Sync. That's the whole setup.
Keep it anywhere you like — Desktop is fine. Your database lives separately in
%APPDATA%\lol-champ-tracker, so it survives every update.
No notarised build is published yet — the build-from-source guide produces the same app in two commands, and the Gatekeeper section covers the "damaged and can't be opened" message.
Both builds are unsigned — there's no code-signing certificate behind this project. Everything is readable source; build it yourself if you'd rather not trust a binary.
The app talks to Riot directly, which means it needs your own key. They're free — you register a small "product" describing what you're building, and Riot issues you a personal key that never expires.
Go to developer.riotgames.com and log in with the same Riot account you play on. There's no separate developer signup.
Click Register Product, choose Personal, and describe what you're building. The description decides your application — we give you the exact wording for every field.
Click Change, enter your Riot name, #tag and region, paste the RGAPI- key, press Test. Green means you're done — hit Sync.
Personal keys are reviewed by hand and can take days. Want to try it tonight? Your dashboard also carries a development key that works instantly — it just has to be re-pasted every 24 hours.
Endpoints, regional routing, rate limits, every error code the app can show you, and how to apply for a key that doesn't expire.