RetroAchievements Score
Achievement of the Week
{{ widgetData.ra_aotw.title }}
{{ widgetData.ra_aotw.game }}
{{ widgetData.ra_aotw.points }} pts
No data available
Random Pick
🎲
{{ randomPickGame.name }}
▶ Open
No games loaded yet
Library Snapshot
Games {{ allGames.length.toLocaleString() }}
Platforms {{ platforms.filter(p => p.rom_count > 0).length.toLocaleString() }}
Favorites {{ favRomIds.size.toLocaleString() }}
Recently Unlocked
{{ ach.Title }}
{{ ach.GameTitle }}
No recent achievements
{{ section.title }} {{ section.games.length }}
{{ game.name }}
{{ game.platformShort }}
★ {{ game.rating }}
{{ game.name }}
No games yet.
User Interface
Customize your dashboard experience.
Dashboard Widgets
Choose which widgets appear above your game library.
RetroAchievements Score
Your RA point total and global rank. Shows hardcore, softcore, or both.
Hardcore Softcore Both
Achievement of the Week
The current RA featured achievement with badge, title, and points.
🎲
Random Game Picker
Can't decide what to play? Let the dice pick a random game from your library.
Library Snapshot
At-a-glance view of your library: total games, platforms, and favorites count.
Recently Unlocked
Your 3 most recently earned RetroAchievements with badge and game name.
↑↓ row ←→ game Enter open Esc deselect
{{ ctxMenu.game.name }}
{{ ctxMenu.game.platformName }}
Play
Download
{{ favRomIds.has(ctxMenu.game.id) ? 'Unfavorite' : 'Favorite' }}
Add to Collection
Share
Refresh Metadata
Edit
Delete
No cover
{{ detail.name }}
Version
{{ detail.year }} ·
{{ detail.platformName }}
· Verified
{{ tag }} {{ r }} {{ l }}
{{ sc.label }}
{{ detail.userRating || '—' }}
Your Rating
Clear rating
{{ detail.userDifficulty || '—' }}
Difficulty
{{ n }}
Clear

{{ detail.summary }}

Genres
{{ g }}
Developer
{{ c }}
Franchise
{{ f }}
Collections
{{ c }}
{{ ht.label }}
{{ ht.value }}
{{ ht.count }} players
Similar Games {{ similarSource }}
Finding similar games…
{{ g.name }}
{{ g.platformShort }}
{{ g.name }}
No notes yet.
{{ note.title }}
{{ note.updatedAt }}
Public Private
{{ note.content || '(empty)' }}
+ Add Note
No RetroAchievements data for this game.
{{ detail.achievements.length }}
Achievements
{{ detail.achTotalPoints }}
Total Points
{{ detail.achProgressionCount }}
Progression
{{ detail.achMissableCount }}
Missable
All Progression Missable Win Condition ✓ Earned ⊘ Locked
{{ ach.title }}
{{ ach.description }}
{{ ach.points }} pts
{{ ach.type.replace('_', ' ') }}
Loading saves…
Add to Collection
{{ collPickerGame?.name }}
+
New Collection
{{ coll.name }} {{ coll.rom_count }}
No collections yet. Create one above.
Changelog
v0.2 April 22, 2026
Stale-while-revalidate caching everywhere — cached data renders instantly on every page (dashboard, game detail, platforms, collections, favorites), fresh data fetches silently in the background. No more waiting on navigation.
Per-game detail cache — each game's detail data is stored under its own localStorage key so revisiting a game opens with zero shimmer. Writes are deferred off the main thread to avoid jank.
Infinite scroll — platform and collection pages now load 72 games per page (matching RomM's own API pagination) and silently fetch the next batch when you're 300px from the bottom.
Backlog dashboard section — games marked Backlogged automatically appear in a horizontal scroll row at the bottom of the dashboard. Driven entirely by localStorage so it stays accurate; updates in real time as you change statuses.
Saves tab — new tab in the game detail panel between Achievements and Metadata, showing all save states (with screenshots, emulator, date) and save files (filename, size, date, download button) fetched from /api/states and /api/saves.
Similar Games — section at the bottom of the Overview tab. Scores cached games by franchise match first, then genre overlap, then falls back to an API search or same-platform titles. Shows up to 12 results.
Platform icon on every game tile — the platform SVG floats directly on the cover art in the bottom-left corner (no pill box) with a subtle drop-shadow so it reads on any background. Falls back to a text abbreviation pill if no icon file exists.
Game status badge on every tile — when a status is set, a colored frosted-glass badge sits in the top-left. When no status is set, a dashed-circle ghost button fades in on hover so you can set a status from any tile on any page without opening the game detail panel.
Reactive status updates — status changes reflect instantly across every tile on every page without a reload, powered by a Vue reactive ref mirroring localStorage.
Favorites page fully updated — was using a stale card template; now has platform icons, status badges, hover status button, and context menu parity with all other grid pages.
Changelog — this panel, accessible from the avatar menu.
v0.1.x Detail panel rework
Media tab — dedicated tab for screenshots, box art, and other game media.
Removed Personal tab — status, rating, and difficulty moved out of their own tab and into always-visible action buttons in the detail panel header, matching RomM's own UI pattern.
Metadata tab consolidation — renamed and expanded to house filename, file size, revision, CRC/MD5/SHA1 hashes, verification badges, and deep-link buttons to every metadata source (IGDB, MobyGames, ScreenScraper, RetroAchievements, SteamGridDB, LaunchBox, HowLongToBeat).
Version selector — when multiple ROM files share the same title, a dropdown in the detail header lets you switch between versions without leaving the panel.
Achievement filters — filter bar on the Achievements tab for All / Progression / Missable / Win Condition, plus an earned/locked toggle, with point totals per filter.
HLTB times — How Long to Beat main story, completionist, and extra times shown on the Overview tab when available.
Screenshot gallery & lightbox — screenshots in the Overview tab open a full-screen lightbox with previous/next navigation.
v0.1 Initial mockup
Dashboard — Recently Added and Continue Playing sections as horizontal scroll rows, each with cover art cards and a hover overlay (play, download, favorite, add to collection, more menu).
Widget bar — five configurable widgets: RetroAchievements Score (hardcore/softcore/both mode), Achievement of the Week, Random Pick (with reroll), Library Snapshot (game count, platform count, favorites), and Recently Unlocked achievements.
Widget configuration panel — toggle each widget on/off individually and adjust display options from the UI settings tab.
Game detail panel — slide-in panel with cover art, title, platform, year, tags, genres, companies, franchises, collections, summary, and user-editable status / rating / difficulty.
Notes tab — expandable note cards with public/private badges; inline form to add new notes without leaving the panel.
RetroAchievements integration — per-game achievement list with badge art, title, description, point value, and type badge; user progress (earned count, points, completion %) fetched live.
Platform browser — platform list with icons, filterable by letter; selecting a platform shows a full game grid with a platform info panel (icon, name, category/family/generation tags, game/rom counts).
Collections browser — collection list; selecting one shows its games in the same alphabetical grid layout.
Favorites tab — dedicated view of favorited games with alphabetical grouping and a scroll-to-letter strip.
Add to Collection picker — modal that lets you add a game to an existing collection or create a new one inline.
Search — full-library search overlay (Ctrl+K) that indexes all games and platforms, with result count and keyboard navigation.
Context menu — right-click or ⋯ button on any card: Play, Download, Favorite/Unfavorite, Add to Collection.
Dynamic background — cover art crossfades into the page background on hover, with a two-layer A/B fade so transitions are smooth.
Mobile layout — bottom navigation bar replaces the side nav on small screens; card sizes and grid layouts adapt to the viewport.
User menu — avatar dropdown with links to Profile, User Interface, Library Management, Metadata Sources, API Tokens, Administration, Server Stats, Scan, Upload, and Patcher.