PracHub
QuestionsPremiumCoachesLearningGuidesInterview Prep
|Home/System Design/Sprinter Health

Design a scalable game app store

Last updated: Apr 8, 2026

Quick Overview

This question evaluates a candidate's ability to design a scalable backend system, covering competencies in system architecture, data modeling, distributed services, media asset delivery, secure transactional flows, and operational trade-offs around scalability, availability, and consistency.

  • medium
  • Sprinter Health
  • System Design
  • Software Engineer

Design a scalable game app store

Company: Sprinter Health

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Onsite

You are asked to design a backend system for a **game app store**. The product is similar in spirit to an app marketplace but focused on games. ### Requirements #### 1. Browsing and discovery Users should be able to browse games via different types of categories: - **Dynamic categories** (computed from data): - Top-selling games (e.g., by recent purchase volume) - New releases (e.g., games published in the last N days) - **Static/genre categories** (tag-based): - Horror - Arcade - Platformer - Puzzle - (and other game genres) The system should support: - Listing games in a given category with pagination and basic sorting (e.g., by popularity, rating, release date). - Efficient updates of dynamic categories as new purchases and releases happen. #### 2. Game detail page For each game, users should be able to view a **rich media** detail page, including: - Text description, title, publisher information - Screenshots and/or video trailers - Price, platform compatibility, and other metadata (e.g., age rating, tags) Assume media assets (images/videos) are stored in some object storage or CDN; you need to design how they are referenced and served at scale. #### 3. Purchase and download Users must be able to: - Purchase games (assume real-money transactions) - After purchase, download the game binary or installation package Consider: - User accounts and purchase history - Ensuring that only users who have purchased a game can download it - Generating secure, time-limited download URLs - Handling high download traffic (e.g., via CDN or specialized download servers) You can assume payment processing is integrated via a third-party payment gateway, but you should describe how your system interacts with it and records orders. #### 4. Ratings and reviews Users can: - Leave ratings (e.g., 1–5 stars) and text reviews for games they have used - View existing ratings and reviews per game, with features like: - Average rating per game - List of reviews with pagination and sorting (e.g., most recent, most helpful) Consider how to: - Store and index reviews - Efficiently compute and update aggregate metrics (e.g., average rating, review count) #### 5. Non-functional requirements (assume a reasonably large but not planet-scale startup) - The system should be **scalable** to millions of users and hundreds of thousands of games. - Availability should be high; occasional stale data (e.g., slightly delayed popularity rankings) is acceptable. - Reads (browsing, viewing game details) are much more frequent than writes (publishing games, purchases, reviews). ### Tasks Design the system end-to-end. In your answer, cover at least: 1. **High-level architecture**: Main services/components and how they interact (e.g., User Service, Game Catalog Service, Purchase Service, Review Service, Recommendation/Ranking Service, Media/Asset Service). 2. **Data modeling and storage**: Core data models (users, games, categories, purchases, reviews) and what types of databases you would use for each (e.g., relational vs NoSQL vs search index). 3. **Category and ranking computation**: How you would implement dynamic categories like top-selling and new releases, including update frequency, batch vs real-time, and data pipelines. 4. **Purchase and download flow**: Sequence of events when a user buys and then downloads a game, including interaction with payment gateway and generation of secure download links. 5. **Ratings and reviews design**: APIs, data storage, and how to efficiently serve review lists and aggregate ratings. 6. **Scalability and performance**: Caching strategies, use of CDNs, partitioning/sharding strategies, and approaches to handle spikes in traffic (e.g., a hit new game release). 7. **Reliability and consistency**: Which parts need strong consistency (e.g., purchase records), where eventual consistency is acceptable (e.g., top-selling rankings), and how you would handle failures and retries. You do not need to provide detailed code; focus on system design, data flow, and trade-offs. State any additional assumptions you make.

Quick Answer: This question evaluates a candidate's ability to design a scalable backend system, covering competencies in system architecture, data modeling, distributed services, media asset delivery, secure transactional flows, and operational trade-offs around scalability, availability, and consistency.

Sprinter Health logo
Sprinter Health
Dec 8, 2025, 6:40 PM
Software Engineer
Onsite
System Design
20
0

You are asked to design a backend system for a game app store. The product is similar in spirit to an app marketplace but focused on games.

Requirements

1. Browsing and discovery

Users should be able to browse games via different types of categories:

  • Dynamic categories (computed from data):
    • Top-selling games (e.g., by recent purchase volume)
    • New releases (e.g., games published in the last N days)
  • Static/genre categories (tag-based):
    • Horror
    • Arcade
    • Platformer
    • Puzzle
    • (and other game genres)

The system should support:

  • Listing games in a given category with pagination and basic sorting (e.g., by popularity, rating, release date).
  • Efficient updates of dynamic categories as new purchases and releases happen.

2. Game detail page

For each game, users should be able to view a rich media detail page, including:

  • Text description, title, publisher information
  • Screenshots and/or video trailers
  • Price, platform compatibility, and other metadata (e.g., age rating, tags)

Assume media assets (images/videos) are stored in some object storage or CDN; you need to design how they are referenced and served at scale.

3. Purchase and download

Users must be able to:

  • Purchase games (assume real-money transactions)
  • After purchase, download the game binary or installation package

Consider:

  • User accounts and purchase history
  • Ensuring that only users who have purchased a game can download it
  • Generating secure, time-limited download URLs
  • Handling high download traffic (e.g., via CDN or specialized download servers)

You can assume payment processing is integrated via a third-party payment gateway, but you should describe how your system interacts with it and records orders.

4. Ratings and reviews

Users can:

  • Leave ratings (e.g., 1–5 stars) and text reviews for games they have used
  • View existing ratings and reviews per game, with features like:
    • Average rating per game
    • List of reviews with pagination and sorting (e.g., most recent, most helpful)

Consider how to:

  • Store and index reviews
  • Efficiently compute and update aggregate metrics (e.g., average rating, review count)

5. Non-functional requirements (assume a reasonably large but not planet-scale startup)

  • The system should be scalable to millions of users and hundreds of thousands of games.
  • Availability should be high; occasional stale data (e.g., slightly delayed popularity rankings) is acceptable.
  • Reads (browsing, viewing game details) are much more frequent than writes (publishing games, purchases, reviews).

Tasks

Design the system end-to-end. In your answer, cover at least:

  1. High-level architecture : Main services/components and how they interact (e.g., User Service, Game Catalog Service, Purchase Service, Review Service, Recommendation/Ranking Service, Media/Asset Service).
  2. Data modeling and storage : Core data models (users, games, categories, purchases, reviews) and what types of databases you would use for each (e.g., relational vs NoSQL vs search index).
  3. Category and ranking computation : How you would implement dynamic categories like top-selling and new releases, including update frequency, batch vs real-time, and data pipelines.
  4. Purchase and download flow : Sequence of events when a user buys and then downloads a game, including interaction with payment gateway and generation of secure download links.
  5. Ratings and reviews design : APIs, data storage, and how to efficiently serve review lists and aggregate ratings.
  6. Scalability and performance : Caching strategies, use of CDNs, partitioning/sharding strategies, and approaches to handle spikes in traffic (e.g., a hit new game release).
  7. Reliability and consistency : Which parts need strong consistency (e.g., purchase records), where eventual consistency is acceptable (e.g., top-selling rankings), and how you would handle failures and retries.

You do not need to provide detailed code; focus on system design, data flow, and trade-offs. State any additional assumptions you make.

Solution

Show

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Sprinter Health•More Software Engineer•Sprinter Health Software Engineer•Sprinter Health System Design•Software Engineer System Design
PracHub

Master your tech interviews with 8,000+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.