NothingToPlay: A Cross-Platform Game Library Aggregator

Capstone Project by Alexis Calderon & Jake Brown

Introduction

We often kept finding ourselves stuck with the thought of “I have too many games, so I can’t pick any”, so we decided to build NothingToPlay, an Android application that consolidates a user’s entire game library—covering Steam, Xbox, Nintendo, and PlayStation—into a single, unified collection. We built this project to reduce the hassle of juggling different platforms whenever we decide what to play.

We started with Firebase for user login because it can handle a lot of the complicated authentication steps for us as well as making a database that our app can connect to. Then we used IGDB’s API to grab game covers, genres, and other data needed to flesh out our app more and make it more recognizable to users who have used online game stores, which let us enrich the user’s library with consistent, up-to-date game metadata. It was surprisingly more complicated than we expected but in the end we made something we are proud of.

Results

Consolidated Library
  • Users can see all owned games in one list, regardless of platform or subscription service.
  • Our MVP simplifies game selection by minimizing the need to jump between different client apps.
Basic Search & Add Flow
  • A Node.js script seeds Firestore with IGDB data. In the app, users search for a title, select platforms/subscriptions, and save it to their personal library.
Easier Decision-Making
  • Our testers (us) appreciate the one-stop interface for checking their library, especially when deciding what to play next.

Methodology

Tech Stack & Tools
  • Android Studio (Kotlin) – Core development environment
  • Firebase Authentication & Firestore – Handles sign-in and stores user and game data
  • IGDB API (via Twitch) – Supplies standardized game info like covers, genres, and summaries
  • Node.js – Used to fetch and format IGDB data for initial seeding into Firestore
Process
  1. Plan & Structure
    We sketched out basic screens (sign-in, home, add game, etc.) and decided on a Firestore schema that separates global “games” data from user-specific “library” data.
  2. Prototype
    We implemented user authentication first, then tested basic CRUD (create, read, update, delete) operations on a user’s library.
  3. Data Integration
    For accurate game info, we wrote a Node.js script that queries IGDB, cleans up the data, and uploads it to Firestore.
  4. Refinement
    We refined the UI, making sure the library view displays key info (cover images, owned/install status). We also handled edge cases like missing covers or expansions vs. base games.

Future Work

  • Account Syncing: Auto-import owned games by connecting with Steam, Xbox, PlayStation, and Nintendo accounts using available tokens or community wrappers.
  • Playtime & Completion Tracking: Let users manually track progress or pull data directly to mark titles as completed or in progress.
  • Recommendation Engine: Add a "Feeling Lucky?" button that suggests titles based on filters, preferences, or engagement scores.
  • Wishlist & Backlog Management: Create tabs to separate wishlist items from unfinished games.
  • Co-op & Multiplayer Tagging: Add tags for game modes to simplify party-game discovery.
  • Game Night Mode: Group voting and scheduling features for collaborative decision-making.
  • Achievements / Trophy Tracking: Show platform-specific achievements if APIs become accessible.

Acknowledgements

Professor Soltys for project guidance and encouragement.

Friends and family for testing and providing user feedback.

Firebase & IGDB for their robust documentation and free tiers, which helped us stay within time and budget constraints.