A Decky Loader plugin that displays a platinum trophy on the tiles of Steam games you've 100% completed.
Scans your Steam library against Steam's own achievement data and renders a platinum trophy icon on the tile of any game where you have all achievements unlocked. Works on the home page Recent Games carousel and in the library grid. No Steam API key, no setup — the plugin reads from the same in-memory store that powers Steam's own achievement UI.
- Automatic detection. Scans on plugin load; trophies appear instantly on subsequent boots (cached to disk).
- Live updates. Subscribes to Steam's achievement-change events — the moment you unlock the final achievement for a game, its trophy appears on its tiles without you doing anything.
- Configurable position. Choose any of the four tile corners (top-right by default).
- Three sizes. Small / Medium / Large.
- Tilts and scales with focus so the trophy matches Steam's native tile animations.
- Plays nice with SteamGridDB custom art and CSS Loader themes.
- Open Decky on your Steam Deck.
- Browse the plugin store.
- Find Completionist, install.
- Open the plugin; trophies appear on your platinum games within ~30 seconds.
- Download the latest
Completionist.zipfrom Releases. - In Decky's developer settings, install the plugin from the zip.
Open Completionist in the Quick Access Menu. The Display section has two controls:
- Position — which corner the trophy sits in.
- Size — Small / Medium / Large.
Settings are saved to disk and persist across reboots.
Steam's UI keeps an in-memory cache of your achievement progress at window.appAchievementProgressCache. For each game in your library, Completionist checks whether the game has achievements (BGameHasAchievements) and, if so, requests its cached progress (RequestCacheUpdate). A game where all_unlocked is true gets its appid added to the platinum set, which is then used to drive a CSS rule that injects a trophy ::after pseudo-element on matching tiles.
Detailed write-up of the architecture is in the source — see src/index.tsx.
- Tested on Steam Deck running SteamOS 3.x with Decky Loader v3.2.3+.
- Relies on Steam's internal JS API (
appAchievementProgressCache,SteamClient.Apps.*). Major Steam Client updates can break the plugin — if trophies vanish after a Steam update, file an issue. - "Platinum" is defined as all native Steam achievements unlocked. Games with no achievements are skipped.
- The plugin's initial scan can take ~30 seconds for very large libraries — subsequent loads use the cached set and apply trophies instantly.
Built from the official decky-plugin-template.
pnpm install
pnpm run build
./cli/decky plugin build .Plugin source lives in src/index.tsx; Python backend (for disk persistence) in main.py.
- Built on top of the Decky Loader project.
- Tile-patching approach informed by decky-steamgriddb.
- Original plugin template © Steam Deck Homebrew, BSD-3-Clause licensed.
BSD 3-Clause — see LICENSE.
