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.
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.
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.