Case study
Insolve
A multi-tenant white-label platform. Operators launch a fully branded site, with their own domain, theme and feature set, on top of one shared backend.
- Role
- Design and engineering, end to end
- Period
- Mar 2026 - present
- Stack
- Links
- insolve.gg

The problem
Small operators and streamers want their own branded platform, but building and running one means payments, games, accounts, an admin panel and infrastructure. Insolve gives each of them a complete product without a separate codebase or deployment per customer.
Each operator is a brand: its own custom domain, theme (colors, logo, button and avatar styles), selection of active games, chat style, leaderboard settings, promo codes and bonuses. A brand is configuration, not a fork.

Architecture
A Bun monorepo with three frontends, five backend services and shared packages for types, business logic, the database client and UI components.
Frontends
Services
Data and providers
Key decisions
One backend, many brands
Every brand lives in the same database and runs on the same services. Adding a customer means creating a brand in the admin panel, not deploying anything. Shared packages keep the business logic (payments, swaps, ranks, bankroll) and the TypeScript types in one place, so the three frontends and the APIs cannot drift apart.
Custom domains without manual work
Operators bring their own domain. The admin API talks to the Cloudflare API to register the hostname and issue the SSL certificate, so a new domain goes live without anyone touching DNS or certificates by hand.
Money moves off the request path
Deposits and currency swaps are processed by a background worker instead of inside API requests. A slow payment provider never blocks a player’s request, and failed jobs can be retried safely.

Fairness you can verify, and tests that prove it
Every game result is derived from a server seed, a client seed and a nonce, so any player can verify an outcome after the fact. The game logic and the fairness checks are covered by automated tests per game.

Deploy anywhere
The same build runs with Docker Compose behind Coolify and Traefik, under PM2 on a plain VPS, or as a Render Blueprint. Switching hosts is a configuration change.
Result
A working multi-tenant platform with live brands in production, a player progression system with nine ranks and rakeback, an operator dashboard with player tracking and statistics, and automated domain onboarding.