Track. Analyze. Optimize your gaming library across multiple platforms.
A full-stack web app that unifies Steam, RetroAchievements, RetroArch, Minecraft, and console emulators into a single analytics-driven dashboard — with session tracking, HowLongToBeat estimates, and intelligent budget recommendations.
⚠️ Not affiliated with Valve, Steam, HowLongToBeat, RetroArch, or any other platform mentioned.
Modern gamers play across Steam, retro emulators, Minecraft, and more — making it impossible to track total playtime or analyze habits in one place. Game Vault solves that by aggregating everything into a single dashboard with GitHub-style activity heatmaps, value analytics, and smart wishlist recommendations.
- Multi-platform library — Steam, RetroAchievements, RetroArch, Minecraft, PCSX2, RPCS3, PPSSPP
- RetroArch support — Auto-detects games and playtime from local playlists and runtime logs across any installed core
- HowLongToBeat integration — Main story, main + extras, and completionist estimates on every game
- Smart recommendations — 0/1 knapsack algorithm scored by discount, HLTB hrs/₹ value, and your taste profile
- Advanced analytics — GitHub-style heatmap, session tracking, radar chart, platform distribution, price-per-hour
- Unified journal — Notes and progress logs for every game across all platforms
- Auto-Sync — Automatically sync all platforms after gaming sessions with a single click
# 1. Clone
git clone https://github.com/Vishrut2403/GameVault.git
cd GameVault
# 2. Backend
cd backend
npm install
cp .env.example .env # fill in your keys
npx prisma migrate dev
npm run dev
# 3. Frontend (new terminal)
cd frontend
npm install
cp .env.example .env # set VITE_API_URL=http://localhost:3001
npm run devYou'll need Node.js 18+, PostgreSQL 14+, and a Steam API key to get started. See docs/setup.md for the full setup guide.
| Layer | Tech |
|---|---|
| Frontend | React 18, TypeScript, Vite, TailwindCSS, Recharts |
| Backend | Node.js, Express, TypeScript |
| Database | PostgreSQL 14+, Prisma ORM |
| Auth | JWT, Passport.js (Steam OAuth) |
| Integrations | Steam API, RetroAchievements API, RetroArch (local), HowLongToBeat (unofficial API) |
- Setup Guide — prerequisites, env vars, database, running locally
- Features — detailed breakdown of every feature
- Integrations — Steam, RetroArch, HLTB, Minecraft and more
- Troubleshooting — common errors and fixes
- API Reference — all backend endpoints
Vishrut Sachan
- GitHub: @Vishrut2403
- Project: GameVault
This project is not affiliated with Valve, Steam, HowLongToBeat, RetroAchievements, RetroArch, or any other platform mentioned. HLTB data is fetched via an unofficial third-party API and may not always be complete or accurate.



