Who Threw? Try it live
Web · JavaScriptlive

Settle who threw your Mobile Legends match

Role-aware 0-10 scores, blame and MVP shares that add up to 100%, and a result card for the squad chat.

Web · JavaScript
mlbb-blame · live demolive demo
Who Threw? screenshot
2platforms: Web, JavaScript
MITopen source licence
Why it exists

End the argument with numbers.

Settle the "who threw that game?" argument in your Mobile Legends: Bang Bang squad with numbers instead of shouting.

Type your team's stats from the end-of-match Data tab (K/D/A, gold, hero damage, damage taken, turret damage and role).

How it works

From end screen to verdict

  1. 1

    Copy the Data tab

    Enter K/D/A, gold, hero damage, damage taken, turret damage and role for each player.

  2. 2

    Analyze

    Every stat becomes a share of the team total and is compared with what that role usually gets, then weighted by role.

  3. 3

    Share the verdict

    Send the result image or the text summary to the squad chat, and save the match to the squad history.

What's inside

What every result shows.

Role-aware scoring

each stat is the player's share of the team total, compared with what that role usually gets.

Blame and credit shares

that always add up to exactly 100%: in a loss blame is proportional to \((10 - \text{score})^2\); in a win credit is proportional to \(\text{score}^2\).

Confidence of the call

"Clear call" when the top player is 1+ point away from the next one, "Close call" otherwise.

Share to the squad chat

one-tap result image (Web Share on phones, PNG download on desktop) and a copy-ready text summary.

Mobile-first entry

one card per player, numeric keypad, the draft is saved as you type, and "Next match" keeps the squad.

Squad history

leaderboard (average score, MVPs, times most to blame), per-match list with delete/undo, JSON export/import.

Good to know

Honest limits.

Straight from the README, so you know what you're getting before you try it.

  • The role baselines and weights in scoring.js are this app's own estimates, not official Moonton data, and end-screen stats can't see rotations, vision, objective calls, the draft or early-game…
Under the hood

How it's built.

Built with

Language
PythonJavaScriptHTML/CSS

11 files in the repo · last updated 11 Nov 2026.

Browse the code
Questions

Good questions.

What does it run on?

Web, JavaScript. You can try it in the browser with nothing to install.

Where do I start?

Copy the Data tab: Enter K/D/A, gold, hero damage, damage taken, turret damage and role for each player. The draft is saved as you type.

What doesn't it do yet?

The role baselines and weights in scoring.js are this app's own estimates, not official Moonton data, and end-screen stats can't see rotations, vision, objective calls…

Is it finished?

Not yet: it's marked “live” and still changing. The README always has the current state.

Is it free?

The source is public on GitHub under the MIT licence.

Who made it?

Juwen Lie, an R&D mechanical engineer in Batam, Indonesia, as an independent personal project.

Keep exploring

More from the same workbench.

GG. Now find out who threw.

Settle who threw your Mobile Legends match