THEGrudge Goblinis keeping score.
Grudge Goblin is a rival tracker for multiplayer games. It watches every kill, remembers every foe, and pings you the moment they queue up.

A tiny goblin.
A very long memory.
You have felt it. That one player who keeps killing you. The squad that will not leave you alone. The friend you swear you have out-fragged a hundred times but can never prove it.
Track top rivals
Track players killing you the most. Ranked, scored, and waiting for payback. Click any name to see your full head-to-head.
Track top prey
Track players you have made miserable. Wear it with pride. Or with shame. Goblin does not judge.
Alerts
Get notifications when rivals, prey and friends are online playing, free.
Maelstrom
just got spicier.
Every NPC kill, rival kill, and match from Maelstrom is now feeding the Goblin's ledger. Join early access to be first in line when player invites open.
Join the early access waitlistMaelstrom

Small features. Big problems solved.
Grudge Goblin proves it.
We turn your match history into a living rivalry sheet: who is hunting you, who you are hunting, and exactly how the score stands.
No spreadsheets. No screenshots. Just receipts.
Rival alerts
Friends, imported
One profile, many games
Privacy you control
The Goblin keeps score. You keep control.
You control visibility
Private profiles are not crawled, listed, or leaked. You can vanish from the ledger in one click, with a 12-hour cooldown to hop back in.
90-day rolling window
Stats roll on a 90-day window. Veterans do not get a permanent ladder over new players. Old grudges fade. New ones get fed.

Run a multiplayer game?
Hand your players a reason to come back.
Grudge Goblin by Gamers Lab adds a rivalry layer to your game without you having to build any of it. Players get persistent rival profiles, head-to-head stats, friend tracking, and re-engagement alerts.
- Free for supported games
- Quick and easy to integrate
- Your data stays yours. Goblin only reads what you forward
{
"game_id": "deadlock",
"match_id": "dl_8821af",
"players": [
{ "steam_id": "7656...99", "kills": 18 },
{ "steam_id": "7656...14", "kills": 11 }
],
"encounters": [
["7656...99", "7656...14", { "k": 3, "d": 1 }]
]
}