๐Ÿ†

Steam Achievements Tracker

A desktop web app for Steam players who take their achievements seriously. Track your progress, discover how to unlock achievements, compare with friends, and work through your backlog โ€” all in one place.

How Enrichment Works

1
Training Enrichment
Queued as a background job when you add a game. Gemini 2.5 Flash reads each achievement's name and description and generates guidance based on its training knowledge โ€” how to obtain it, whether it's missable, which playthrough to target, and a difficulty rating. Results appear progressively as batches complete.
2
Guide Enrichment
Queued as a separate background job. A worker process discovers the top Steam community guides for the game, reads the full guide content, and sends it to Gemini 2.5 Flash alongside your achievements. Training enrichment is always the source of truth โ€” guide data only fills gaps, and only when confidence is high or medium.
Both pipelines write to a shared cache โ€” if another user adds the same game, they get enrichment instantly at no additional cost.

Features

Steam Integration

Sign in with Steam
Full OpenID authentication, no passwords stored
Library sync
Imports your games and achievement data directly from the Steam API
Live rarity data
Global unlock percentages pulled from Steam, so you always know how rare an achievement is

AI-Powered Enrichment

Training enrichment
Every achievement gets AI-generated guidance: how to obtain it, whether it's missable, which playthrough to target, and a difficulty rating
Guide enrichment
A background worker discovers the top Steam community guides for each game, reads the guide content, and extracts structured data for every achievement mentioned โ€” not fabricated
Confidence-based merging
Training enrichment is always the baseline. Guide data fills gaps where training has nothing, but only when confidence is high or medium. Low-confidence and inferred extractions are discarded
Hidden achievement handling
Hidden achievements show a placeholder until unlocked, and are excluded from enrichment to avoid hallucinated descriptions

Achievement Display

Density toggle
Switch between a comfortable card view and a compact table for power users
Filter tabs
Slice your achievements by All, Locked, Unlocked, Missable, First Playthrough, and more
Pin achievements
Keep specific achievements at the top of your list
Manual sort mode
Drag and drop achievements into your own preferred order, saved per filter tab

Friend Comparison

Compare with friends
Add up to 5 Steam friends to compare achievement progress side by side
Private profile handling
Friends with private Steam profiles are clearly indicated
Recently compared
The picker surfaces friends you've compared with recently for quick access

UI & UX

Desktop-first design
Built and optimised for desktop browsers
Density toggle
Compact, default, and comfortable layouts to suit your preference
Privacy mode detection
If your Steam profile is private, recently played sorting is gracefully disabled with an explanation
๐Ÿ Snake
A fully playable Snake game appears on the welcome screen with a 10% chance on each visit โ€” keep an eye out

Limitations

Achievement Caps

To keep enrichment costs sustainable, caps apply based on achievement count.

Achievements
Training Enrichment
Guide Enrichment
โ‰ค 500 achievements
โœ“
โœ“
501 โ€“ 999 achievements
โœ“
โœ•
1,000+ achievements
โœ•
โœ•
Guide availability
Guide enrichment depends on a suitable Steam community guide existing for the game. Not all games have community guides โ€” training enrichment is the fallback.
Friend comparison
Friends must have their Steam profile and achievements set to public. Private profiles can be added but achievement data will not be visible.
Platform
Desktop only. The app is built for desktop browsers and displays a gate on mobile devices. No Steam Deck or mobile browser support at this time.
Steam privacy
If your Steam profile is private, recently played data is unavailable and the Recently Played sort is disabled. Achievement unlock timestamps require a public profile.

Tech Stack

Built as a personal project to explore multi-model AI enrichment pipelines, background workers, and Steam API integration.

Frontend & API
Next.js 16 (App Router)
Database
PostgreSQL via Drizzle ORM
Frontend Deployment
Vercel
Worker Deployment
Render
Database Hosting
Neon
Auth
Steam OpenID + jose JWT
Training Enrichment
Google Gemini 2.5 Flash
Guide Extraction
Google Gemini 2.5 Flash
Guide Parsing
Cheerio + Playwright
Drag & Drop
@dnd-kit
Achievement Tracker is a personal project shared with friends for feedback. It is not affiliated with Valve or Steam. All game data, achievement icons, and statistics are sourced from the Steam Web API.
Sign in with SteamNot affiliated with Valve or Steam ยท About