Vasil Georgiev
Demo ready2026

FuturePlay Hub

Casino game portfolio and demo launcher for operators

A login-only hub where invited casino operators browse a game portfolio and launch free-play demos. Games are launched through a gaming aggregator's GameLaunch API with HMAC-signed requests, and staff manage the catalogue, clients and launch log in a back office.

Open live app

Demo access

FuturePlay Hub

  • Demo account

    Loginvasilgeorgiev215@gmail.com
    Password••••••••••
Open FuturePlay Hub

Demo accounts with example data only.

futureplayport.vercel.app

Role
Solo: product, front end, aggregator integration, back office
Platforms
Web: operator hub · Web: back office
Tech
Next.js 16React 19TypeScriptTailwind CSS v4SupabasePostgreSQLZodHMAC-SHA256VitestVercel
  • 40

    automated tests

  • 10

    back-office sections

  • 3

    roles: admin, editor, operator

  • 0

    real money: demos only

The problem

One place for a whole game portfolio

Casino operators evaluating new games usually jump between separate provider hubs, spreadsheets and manual demo links. Nothing shows the whole portfolio with the facts an operator needs: RTP, volatility, markets, languages and currencies.

The hub gives every invited operator one catalogue to browse and play, and it connects to the aggregator exactly the way a real operator would. That makes it a working test of the integration too, which is where my day job as an Integration Manager comes in.

Walkthrough

01 · Catalogue

Every game with the facts operators ask for

Operators browse by provider, type and release, filter for new games, Bonus Buy and high RTP, and open a game page with its RTP, volatility, markets, languages, currencies and supported devices.

  • Provider pages and a featured new release on the lobby
  • Demo opens in a full-screen frame on desktop and as a full page on phones
  • Games with demos switched off stay visible but can't be launched

02 · Integration

Signed launches through the aggregator

Pressing Play demo calls the hub's own API, which builds the aggregator's GameLaunch request and signs it with an HMAC-SHA256 checksum. Every launch is logged with the client, game, latency and result, and launches are rate-limited per user.

  • Checksum tests written against the aggregator's API guide
  • A built-in mock aggregator, so the whole flow works before real access
  • An integration page with live API tests and a tracker for open questions

03 · Back office

Catalogue, clients and audit in one place

Staff sync the catalogue from the aggregator's APIs, import artwork and descriptions from a CSV or JSON content feed (images converted to WebP), switch demos per game, and invite or deactivate operator accounts.

  • Invitations and password reset by email
  • Admin and editor roles for staff, operator accounts for clients
  • Audit log of every change, with before and after values

Under the hood

How it's built

  • 01

    Next.js on Vercel

    Next.js 16 App Router with server actions for the back office and route handlers for the launch API. Deployed to Vercel.

  • 02

    Supabase

    Postgres for the catalogue, clients and logs, Supabase Auth for invitations and sign-in, Storage for artwork, with row-level security on every table.

  • 03

    Aggregator client

    A typed client validates responses with Zod, signs GameLaunch requests with HMAC-SHA256 and compares checksums in constant time.

  • 04

    Content pipeline

    Catalogue sync from the Free Spins and Partner APIs, plus a CSV or JSON content feed whose images are converted to WebP with sharp.

  • 05

    Second iteration

    Rewritten from an earlier prototype that scraped a provider hub with Playwright; the new version connects to the aggregator the way a real operator would.