Why You Shouldn't Overthink This

The Steam Deck has a built-in achievement tracker that sits under the achievements section and it does the basic job fine. But if you're running multiple libraries or trying to cross-reference progress across platforms, the native tool starts showing its cracks pretty fast. Most people don't realize they have options until they've spent twenty minutes manually scrolling through a game's full achievement list. There are three main approaches people actually use. The first is Deckified's Steam Achievement Manager wrapper, which runs as a flatpak on Deck and keeps a local database of your completion percentages. The second is the third-party web app you can bookmark from Chrome or Firefox on the device - it pulls directly from Steam's API and doesn't need installation at all. The third is a standalone program called Achievement Watcher that some people compile themselves and sideload. It's heavier but has the most detailed breakdown of playtime versus completion. I went with the flatpak version for about six months before switching. The problem I hit was specifically with newer games that had achieved status but hadn't pushed their full achievement set to the community database yet. The tracker would just show blank rows for those titles, which made it look like the game had zero achievements when it clearly had twenty-three sitting in your library. My workaround was to run a quick script that queries SteamDB directly instead of relying on the community API endpoint the tracker uses. Here's what I ended up putting in my cron job:

curl -s "https://steamdb.info/app/YOUR_APPID/achievements/" | grep -oP '(?<=)[0-9]+(?=)' | head -50 That pulls the raw count from SteamDB and writes it to a local JSON file that the tracker reads on next launch. Takes about four seconds to run and fixes the gap completely. The web-based option is worth mentioning because it requires zero setup. You go to the site, sign in with your Steam OAuth, and it auto-populates everything. The downside is that it only updates when you're actively on the website - no background sync, no offline mode. If you're playing on a train with spotty connection, you're stuck. The standalone Achievement Watcher program handles this better because it maintains a local SQLite cache that updates on startup and then periodically while you play.

One thing nobody warns you about is that all of these tools use the same Steam API rate limits. If you've got fifty games open and you're querying each one individually through a custom script, you'll hit a throttle within about ten minutes and the whole thing will start returning partial results for the rest of the hour. The official trackers don't hit this because they batch their requests differently. If you're building your own solution, group your queries by twenty-game chunks with a two-second delay between batches. For the average user, the simplest path is bookmarking the web tracker and checking it once a day from bedstation or whatever. If you're actually collecting and optimizing, the flatpak route gives you enough local control without being overly complicated. The only real limitation across all of these is that none of them track in-game purchases or DLC separately from base game achievements. If you own a title with six DLC packs and each one has its own achievement set, the tracker will merge them into a single progress bar. That's an API-level constraint, not a software flaw, but it catches people off guard. I haven't found a single tool that handles DLC achievement splitting properly on Deck, and honestly that hasn't been worth chasing for most games. The data is there if you know where to look in SteamDB. A proper tracker that handles every edge case would probably be a significant undertaking, and the current tools cover enough ground that it's usually not necessary.

Get the Full Details

Steam Deck Battery Tracker is now on the official Decky store : r/SteamDeck
Steam Deck Battery Tracker is now on the official Decky store : r/SteamDeck