Electron · Svelte 5 · Vite·2025

GameVault

Windows desktop game library for non-Steam titles — auto exe detection, Steam/Epic import, artwork, play-time tracking, and one-click launch.

Overview

GameVault turns a folder of indie, GOG-style, or manually installed Windows games into a first-class library — the way Steam presents titles you already own. It exists for the long tail of games that never live in a single launcher and for players who want one place to browse, launch, and track play-time.

Built with Electron, Svelte 5, Vite, and TypeScript, the UI stays reactive while the Node side scans large directory trees. The hard problems are not cosmetic: picking the correct .exe among installers and redistributables, fetching artwork reliably, and knowing when a game process is actually running.

Executable detection walks a folder tree and applies heuristics to skip uninstallers, setup utilities, and Visual C++ redistributables. Players can override the choice when a title ships multiple binaries. Steam and Epic imports read installed manifests so official libraries sit beside manual entries instead of forcing a second workflow.

Artwork is pulled from Steam CDN and SteamGridDB — posters, heroes, and logos — with per-game overrides when metadata is wrong or missing. A process watcher accumulates play-time in real time and surfaces running indicators so the library feels alive during a session, not only after you quit.

Backup and restore export metadata, artwork paths, and play-time into a portable snapshot for machine moves. Custom launch arguments cover FPS caps, mod loaders, and compatibility flags. The gamevault:// protocol handler enables one-click starts from shortcuts or other tools on the same PC.

This project is a practical study in desktop engineering: Windows path realities, registry/manifest integrations, background process awareness, and keeping Electron UIs responsive during I/O-heavy scans. It shows how I approach OS-integrated tooling when "it works on my machine" is not enough.

If you need a Windows desktop app, an Electron + Svelte product, or a local-first library manager with smart file heuristics, GameVault is a concrete reference for scope, UX, and the unglamorous details that make launchers feel trustworthy.

Features

Auto executable detection

Scans directory trees and heuristically selects the launch .exe while filtering installers, uninstallers, and redistributables — with manual override when needed.

Steam + Epic import

Reads installed games from Steam manifests and the Epic Games Launcher so official libraries live alongside manually added folders.

Artwork fetching

Pulls posters, heroes, and logos from Steam CDN and SteamGridDB, with per-game overrides when catalog art is wrong or missing.

Play-time tracking

Process watcher detects when a game executable is running and accumulates play-time in real time with clear running indicators.

Backup & restore

Exports the entire library — metadata, artwork paths, and play-time — to a portable snapshot for migrations and recovery.

Custom launch args & protocol

Per-game launch arguments plus a gamevault:// protocol handler for one-click launches from shortcuts and external tools.

Tech stack
ElectronSvelte 5ViteTypeScriptNode.jsSteamGridDB APIWindows Registry
Highlights
Auto exe detectionSteam + Epic importPlay-time tracking