Inspiration

A few months ago, I was grinding Call of Duty Mobile. I put in dozens of hours, unlocked custom weapon camos, leveled up, and earned achievements. Then I finally got a gaming PC, downloaded the desktop version, and logged in expecting to pick up where I left off.

Instead, I was greeted with a fresh account: Level 1, zero weapons, zero skins, and an empty loadout. I had to restart the entire grind from scratch.

That feeling is infuriating, and almost every gamer has dealt with it.

We live in an era where we play on phones during our commute, on PCs at our desks, and on consoles in the living room. But our progress stays locked inside walled gardens—Steam, PlayStation Network, Xbox Live, and app stores. Triple-A giants like Epic Games or Activision spend millions building proprietary cross-progression backends. But for indie and mid-tier game studios, building and maintaining custom cross-platform sync infrastructure from scratch is practically impossible. As a result, they skip cross-save entirely, and players end up with fragmented accounts or quitting when they switch devices.

We built VaultQuest to solve this: give game developers a lightweight, drop-in SDK to track player progress across every platform, and give players one clean dashboard where their entire gaming identity lives.


What it does

VaultQuest is a cross-platform gaming identity and progression tracking layer. It bridges the gap between game studios and multi-platform players:

  1. For Game Developers (The SDK & Sync Layer): Instead of reinventing custom backend architecture for every platform, developers integrate the VaultQuest SDK. With simple telemetry calls, the game pushes level updates, XP gains, and achievement triggers. VaultQuest normalizes this data across platforms and keeps it in sync.

  2. For Gamers (The Unified Dashboard): Players get one central command center where all their games, accounts, and progress live in one place:

    • Cross-Platform Side-by-Side View: See your level, achievements, and play stats compared directly across devices (e.g., Mobile Level 42 vs. PC Level 12) so you know exactly where you stand.
    • Consolidated Identity: Keeps track of your gamertags, platform links, and game accounts so you never lose track of where your progress is saved.
    • Live Progress Updates: Progress events stream in real time over WebSockets, updating stats on the fly without refreshing the page.
    • Snappy, Modern Interface: Built like a clean game launcher with dark and light modes, fast search, and responsive cards designed for desktop and mobile.

Cross-Platform Progress Normalization

Because different platforms often use different leveling curves or XP scaling (for example, a mobile version capped at level 50 vs. a PC version capped at 100), VaultQuest uses a normalized progression calculation to track a player's true game completion across platforms:

$$P_{\text{normalized}} = \left( \frac{L_{\text{current}} - L_{\min}}{L_{\max} - L_{\min}} \right) \times 100$$

When combined with achievement completion ratio ($A_{\text{unlocked}} / A_{\text{total}}$), developers can compute an overall player mastery score $M$ across all active platforms $k$:

$$M = \frac{1}{k} \sum_{i=1}^{k} \left( 0.6 \cdot P_{\text{normalized}, i} + 0.4 \cdot \frac{A_i}{A_{\text{total}}} \right)$$

This allows studios to offer unified rewards and recognize player loyalty no matter what device they play on.


How we built it

We built VaultQuest with a modular full-stack architecture built to scale:

  • Frontend: Built with React 18, Vite, and TypeScript. We styled the interface using Tailwind CSS v4 for a clean, modern aesthetic with fast responsive layouts. We used Framer Motion and react-parallax-tilt for subtle card micro-interactions, smooth panel transitions, and dark/light theme switching.
  • Backend: Developed with NestJS 10, organizing the core logic into clean, modular services (Games, Auth, Credentials, and EventsGateway) with strict dependency injection and versioned REST endpoints (/api/v1).
  • Database & ORM: Powered by Neon Serverless PostgreSQL through Prisma ORM, structuring relational models for users, games, and platform-specific progress records.
  • Real-Time Telemetry: Set up an event-driven gateway using WebSockets (Socket.IO) to push live progress and achievement pings directly to the frontend dashboard.

Challenges we ran into

  • Wrestling with NestJS Architecture: Coming from standard Express and MERN setups, learning NestJS's opinionated architecture—dependency injection, modules, providers, and lifecycle hooks—was a steep curve. Configuring NestJS alongside Prisma connection pooling in a serverless Neon database environment meant working through plenty of cryptic errors and database connection issues before everything clicked.
  • Normalizing Multi-Platform Data: Designing a database schema that handles games across multiple platforms without creating redundant records or messy joins was tricky. A player might have different gamertags, level caps, and achievements for the same title on mobile versus PC. Iterating on our Prisma schema until it cleanly supported side-by-side platform queries without bloating the responses took several rounds of refactoring.
  • Keeping the Interface Fast and Clean: Balancing smooth animations, card hover effects, and real-time updates while keeping the dashboard lightweight and accessible on both desktop and mobile required careful tuning of CSS and motion components to avoid lag.

Accomplishments that we're proud of

  • End-to-End Live Sync: Getting the full loop working—from an event triggered on the backend to Prisma persistence, and watching the dashboard update live over WebSockets without needing a page refresh.
  • Conquering the Tech Stack: Pushing through the initial frustration with NestJS and successfully connecting React, NestJS, Prisma, and Neon PostgreSQL into a clean, maintainable codebase.
  • A Dashboard Gamers Actually Want to Use: Building an interface that feels like a legitimate launcher rather than an administrative table. It makes cross-platform divergence clear and easy to understand at a glance.

What we learned

  • The Power of Modular Architecture: While NestJS has an initial learning curve, its structure makes expanding the backend painless. Separating data access, business logic, and WebSocket gateways into distinct modules prevented the codebase from turning into spaghetti.
  • The Real Cost of Cross-Platform Gaming: Digging into this problem showed us why so many indie and mid-tier studios avoid cross-progression. Providing an accessible SDK layer solves a genuine headache for both studios and players.
  • Plan-First Development: Mapping out our data schemas and API boundaries before writing components saved countless hours of rework during the hackathon.

What's next for VaultQuest

  • Game Engine SDKs: Packaging ready-to-use SDKs for Unity and Unreal Engine (@vaultquest/unity, @vaultquest/unreal) so developers can drop cross-progression tracking into their games with a few lines of code.
  • "Sign in with VaultQuest" (OAuth): Allowing players to authenticate their game accounts with a single click, simplifying cross-platform onboarding for game studios.
  • Cross-Platform Achievement Bridge: A translation engine that maps achievements across ecosystems (e.g., Steam Achievements $\leftrightarrow$ PlayStation Trophies $\leftrightarrow$ Xbox Gamerscore).
  • Mobile Companion App: Building a lightweight Flutter app so gamers can check their stats, friends' activity, and linked game status on their phones.
  • High-Throughput Event Streaming: Integrating RabbitMQ or Apache Kafka to handle high-frequency telemetry bursts when thousands of players level up simultaneously during peak gaming hours.

Built With

Share this project:

Updates

Submission history