pawful.dev

Clover Client

Backend for a cross-platform Minecraft launcher.

Clover is a Minecraft launcher and client for Windows, macOS, and Linux. I built its backend and REST API: accounts with Discord OAuth, PostgreSQL, and asset delivery through S3 behind CloudFront. Shipped through private beta.

Clover Client architecture: The launcher talks to one API. Large assets never touch the API host; they come from S3 through CloudFront.

The product

Clover is a launcher and client that runs natively on Windows, macOS, and Linux. It imports mod profiles from other clients, ships a mod library, and adds social features: direct messages, group chats, parties, and proximity voice. The product side is Sona’s; my part is everything the client talks to.

What I built

  • Accounts and sign-in with Discord OAuth, so a player’s identity in the launcher is the Discord account they already have.
  • The REST API the client uses for profiles, mods, and social state, backed by PostgreSQL.
  • Asset delivery through S3 with CloudFront in front. Launcher assets and mod files are large and downloaded by every client; serving them from an edge cache rather than the API host keeps the API small and the downloads fast wherever the player is.

Shipping it

The backend went out through a private beta, which is the right way to ship an API that a desktop client depends on: real clients on real networks find the cases a test suite does not.