Carbon Play

1 / 5

Carbon Play

1 / 5

Gaming Platform & Desktop Launcher

A central hub for discovering games, managing player profiles and connecting games to shared account data.

Preview Carbon Play

Overview

Carbon Play is a gaming platform where players can explore games, track their activity and manage their profiles. It provides a common entry point for upcoming games, bringing player accounts, game information and community features into one web experience.

Alongside the website, Carbon Launcher provides a Windows desktop application for accessing and launching multiple games. Players can sign in once and access their available games from a single place.

The Challenge

The platform needed to do more than present a catalogue of games. It also needed to handle player accounts and game data, support community features such as leaderboards and galleries, and give games a way to interact with the same player information.

An existing user database was already part of the system. The challenge was building a new player-facing platform around it while providing an API that additional games and services could use.

The Solution

A React frontend provides the web experience, backed by a Node.js API connected to the existing user database. The API gives games and other services a common interface for working with player accounts and data.

This separates the player-facing website from the backend capabilities shared across the platform, making it easier to introduce new games and services without placing all of their functionality inside the web application.

What I Built

Game Discovery & Community

  • A central entry point for exploring games
  • Game information within a shared platform
  • Leaderboards and galleries
  • A foundation for introducing upcoming games

Player Accounts & Activity

  • User dashboards
  • Profile management
  • Player activity tracking
  • Integration with an existing user database

These features give players a place to manage their profiles and follow their activity alongside the games they play.

Shared Backend API

The Node.js backend exposes an API for games and other services to interact with player accounts and data. MongoDB provides the database layer, connecting the web platform to the player information used by the wider system.

The API also provides an integration point for future games and services, allowing the platform to grow around a shared account and data foundation.

Carbon Launcher

Carbon Launcher is a Windows desktop application built with C# and WPF. It allows players to manage and launch multiple games from one place, with a single sign-in giving them access to their available games.

The application follows the MVVM pattern, separating the desktop interface from its presentation logic and data. It complements the web platform with a dedicated desktop experience for accessing games.

Desktop Capabilities

  • Player sign-in
  • Access to available games from one application
  • Management and launching of multiple games
  • A Windows interface built with WPF

Infrastructure

Carbon Play was deployed on DigitalOcean, using droplets to host the application and supporting services. Traffic passes through a load balancer to distribute requests and improve reliability.

The infrastructure includes:

  • Cloudflare: Part of the platform's traffic infrastructure
  • Load balancer: Request distribution across the hosting environment
  • NGINX frontend server: Delivery of the web frontend
  • Node.js API server: Backend application services
  • Redis: Supporting data infrastructure
  • S3-compatible object storage: Blob and asset storage
  • MongoDB: Application and player data

The deployment separates frontend delivery, API services and data storage, supporting both the website and the services that connect to its backend.

Outcome

Carbon Play brings game discovery, player profiles, activity tracking and community features into one platform. Its shared API connects the website with games and other services, while Carbon Launcher provides a dedicated way to access and launch games on Windows.

Together, the web platform and desktop application establish a foundation for adding new games and extending the player experience across both environments.

Technology

  • Frontend: React, TypeScript
  • Backend: Node.js, TypeScript
  • Database & Supporting Services: MongoDB, Redis
  • Desktop: C#, WPF, MVVM
  • Hosting: DigitalOcean droplets
  • Traffic & Delivery: Cloudflare, load balancer, NGINX
  • Storage: S3-compatible object storage