Playupi.com
MVP Documentation for the web gaming platform.
Playupi is a web gaming platform that aggregates browser games from external brokers (and eventually first-party developers) into a single destination with ranking, discovery, analytics, and monetization.
Documentation Index
| Document | Description |
|---|---|
| Architecture | Tech stack, services, repos, directory structure, data flows |
| Database | Schema, ERD, Prisma models, indexes, partitioning, migrations |
| Game Sourcing | Where games come from: brokers, iframes, builds, and future dev portal |
| Exploration & Ranking | How games move from discovery to ranked, rotation queues, thresholds |
| Data Model | Events, metrics, KPIs, tags, and how they’re computed |
| Events Pipeline | How events flow from browser to storage to aggregated metrics |
| API Reference | Public and admin API endpoints, request/response examples, data types |
| Frontend | Pages, components, layout, responsive behavior, interactions |
| Visual Identity | Colors, typography, shape language, animations, effects, accessibility |
| Admin Dashboard | Catalog management, filters, game admin, bulk operations |
| SEO | URL structure, meta tags, structured data, Open Graph, sitemap, Core Web Vitals |
| Security | Iframe sandboxing, auth, rate limiting, input validation, CSRF, privacy |
| Scaling | Infrastructure phases, free tiers, database scaling, cost projections |
| Deployment Guide | Full deployment instructions for every phase — manual, scripted, and AI-assisted |
| Decisions & TODOs | Applied design decisions and open questions |
Core Concepts
- Games are played inside iframes. The platform never hosts game code directly.
- Ranking is data-driven and computed separately per surface (Home, category) and per platform (desktop, mobile).
- Exploration is a controlled exposure system for new or experimental games that haven’t yet collected enough data to be ranked.
- Events are the foundation of all metrics. Every interaction is tracked, stored, and aggregated into KPIs.
- Admin Dashboard uses a single filterable catalog view rather than multiple fixed pages.
Game Lifecycle
Import/Create --> Draft --> Visible + Exploration --> Ranked | Hidden- A game is created (manually or via bulk import) in Draft state
- Once all requirements are met, it can be set to Visible
- Visible games enter Exploration to collect initial data
- After reaching the unique-player threshold, the game becomes Ranked