MrQraft hackathon · Table 3 Block and Roll · Experience theme

Ordering Lobby

Today every player opens the same hand-curated lobby. Ordering Lobby rebuilds the whole lobby for each player: which rows show, in what order, which games lead each row, and the banner on top. It skips games whose provider is down, keeps at-risk players safe, and explains every choice in plain English.

Code freeze Thu 13:55 Mock data only, no staging or prod Target prize: Best use of AI or Overall
Why it matters

The lobby is the same for everyone

2 of 18rows on the Casino home lobby in Spark change per player (Recently Played and For You!). The other 16, and their order, are fixed for everyone
~2%of game launches come from the "Recommended for you" row, the only personalised row today (PDX-197)
~70%of slot sessions end within 2 minutes, a sign players land on the wrong game (PDX-197, unverified)
0ways to A/B test row order today without duplicating the whole lobby in Spark (PDX-86)
53 minGoosicorn games returned 404s on 12 Jun while their tiles stayed live. Hiding slots is still a manual database update

Industry proof: Entain's Boost Casino A/B tested an AI-personalised lobby and reported higher turnover and GGR per player that held after the test. Vendors such as Future Anthem claim +5–8% net gaming revenue from lobby personalisation (vendor claim).

Proof from MrQ's own data

Players go where the lobby knows them

~70%of lobby launches come from Recently Played, wherever the row sits. The one row that knows the player wins
93%of Recently Played clicks lead to a wager, against 71% for the hand-curated rows (Dec 2024)
~1%of clicks go to "Recommended for you". The model is fine; one fixed row in one fixed spot is the problem
+1.4%login to game launch in MrQ's live personalised page hierarchy test, statistically significant. Personalising structure already works here
Where we fit

We build on what MrQ already has

Already at MrQWhat it doesWhat Ordering Lobby adds
MOPS-430 lobby merchandising agent (Trae, Q4)AI picks "hidden gems" for one row, "Slept On", the same for everyoneEvery row, ordered per player. Its picks can feed our ranking
Personalised page hierarchy test (Martin, live)Personalises which pages players see; +1.4% login to launchThe same idea one level down: the rows inside the page
"For You!" similarity modelOne row, ~1% of clicksSame idea, used in every row and in the order of rows
Spark row typesStatic, Widget, Recently Played, PersonalisedA new "AI ordered" type that slots into Spark
CON-650 provider auto-hide (shadow mode)Detects provider outagesSwaps in similar games instead of leaving gaps

Casino team concern, answered: Spotlight is paid placement and new games need exposure, so the engine keeps pinned slots for both. Everything around them reorders per player.

For the pitch

Nobody in the UK reorders the whole lobby yet

Casumohas the personality: playful, quirky, gamified
LeoVegashas one smart row: 6 picks per player, refreshed weekly
Entain Boosthas the AI: a vendor engine, A/B tested and proven
MrQcan have all three, safely. That is Ordering Lobby

Say it plainly on stage: the best operators personalise one row, run a vendor engine or lean on brand. None publicly reorders the whole lobby for each player. That gap is ours.

How we win

Every angle, one plan

The story

  • Problem: 2 of 18 rows know who you are
  • Solution: all 18 do, and so does their order
  • Proof: Entain tested it and won
  • Close: it plugs into Spark as a new row type

The prize

  • Aim for Best use of AI: AI ranks, names, explains and guards
  • Backup: Overall, thanks to the visual demo
  • A team can only win one category, so pitch for one

The judges

  • Michael (platform PM): measurable, ships via Spark
  • Alex (Entertainment): the lobby is his world, show real rows
  • Shawn (resilience): the provider breaker
  • Arkadiusz (QA): explainable, testable, audit log

The wow moments

  • Two lobbies side by side
  • Kill a provider live
  • Flip Sue to at risk
  • Slide the clock to Halloween night

Credibility

  • Uses Spark's real row types and mrq-lobby's computed rows
  • Uses real game metadata fields
  • Builds on CON-650 auto-hide work
  • Every rule checked against UKGC and ASA

Path to ship

  • Step 1: "AI ordered" row type in Spark
  • Step 2: provider breaker live
  • Step 3: A/B test whole-lobby order
  • Measure: launches per session, quick exits
What judges see

Same catalogue, two players, two lobbies

Dan, slots fanEvening · 41 launches
Because you played Big Bass Bonanza fishing theme · high volatility · same studio
Big Bass SplashFishin' FrenzyBig CatchWild Wild RichesGates of Olympus
Popular with players like you this week launch counts, not wins
Sweet BonanzaStarburstBook of DeadLegacy of Dead

Fishin' Frenzy faded out: its provider is down. Big Catch took the slot.

Sue, bingo regularLunchtime · 9 launches
Quick lunchtime games short sessions · low stakes · you play 12:00–14:00
90 Ball BingoSlingo RainbowDeal or No DealFluffy Favourites
New for you released this month · similar to Slingo
Slingo AdvanceBingo BonanzaRainbow Riches
Sue, flagged at riskPPG on · risk level 4
Your recently played neutral list · no promotion
90 Ball BingoSlingo Rainbow
All games A to Z business value weight set to 0
Age of the GodsAlohaBig Bass
Your asks, checked

What goes in, what changes, what is out

IdeaVerdictHow we do it
Recommended games per playerInGame similarity on metadata (provider, volatility, theme, RTP band) plus the player's recent play, with recent play counting more. Goes beyond the one existing row: every row and the banner are personal.
Provider is downIn, headline featurePer-provider circuit breaker: if errors pass 20% in 5 minutes, its tiles fade out and the closest game from a healthy provider takes the slot. Today slots are hidden by hand with a cache lag of up to 15 minutes, and auto-hiding (CON-650) is still in shadow mode.
Most playedIn, reworded"Popular with players like you this week", based on launch counts in the player's segment. Describes behaviour, never luck.
Most winning / hot gamesOutThe ASA banned PlayOJO's "Hot or Cold" feature in 2022 for implying players can predict wins (CAP 3.1, 16.1, 16.3.1). Instead, show RTP and rules as fixed facts on the tile.
Most revenue for the casinoIn, cappedBusiness value is at most 15% of the score, uses GGR per game from fct_game_performance_daily, and drops to 0 for at-risk players. Ranking on revenue alone would push players to what costs them most (LCCP 3.4.3).
High rollers / VIP lobbyIn, as taste onlyMrQ runs no high value customer scheme by choice, and April 2026 legal advice says no bespoke inducements, tiers or "VIP" wording. Higher value players get the same layout ranked by game taste, never by stake or spend.
Different markets and regionsNot a leverMrQ is GB only, with no regional or language segments. Use product preference, device and time of day instead.
All automated with AIInThe scoring is maths you can explain. Claude writes the row titles, the "why you're seeing this" lines and the banner copy, and a guardrail blocks banned words before anything shows.
Every player, every angle

One engine, a different lobby per segment

Signals marked with a table or tool name already exist at MrQ. In the demo they come from mock data shaped the same way.

SegmentSignal at MrQLobby treatmentGuardrail
Registered, no depositPQ "Reg this month, no FTD"Welcome offer banner, simple popular slots, Daily Free Game, how-to tilesWelcome offer only, no pressure copy
First deposit, days 1–14Optimove FTD journey"Because you played X", low volatility picks, bingo first if they started with bingoNever nudge stake or deposit up
Activelifecycle_stage ACTIVEFull personal ranking: recents, picked for you, new releases in their genresStandard rules
LapsingLAPSING (30 days), Optimove "At Risk"Pick up where you left off, what's new since your last visitOff if safer gambling risk is high
Lapsed or backfct_player_lifecycleWelcome back row with old favouritesNo loss-chasing framing, same treatment for high value churned
Bingo, slots or live fanOptimove Product PreferenceWhole lobby reorders by vertical: bingo rooms first, slots first, or live tables firstThe safest lever, use it heavily
Higher valueRM segment codes, RFMSame layout, ranked by taste, e.g. live tables showing min bet and dealerNo VIP rows, no exclusives, no stake ranking
Age 18–24Date of birthLower volatility, bingo and social games first£2 slot stake cap, £2,500 monthly spend limit
Q+ subscriberq_plus_statusQ+ benefits row, Qoins gamesQ+ is a product, not a value tier
App or webAmplitude platformBigger tiles, shorter rows on appNone needed
At risk: level 3+, PPG, PBASafer gambling scorecard, PPG and PBA flagsNeutral lobby: recently played, A to Z, safer gambling toolsNo promo rows, business weight 0

Context the lobby reacts to

time of dayQuick games at lunch, bingo rooms before they open, live tables in the evening.
campaignsBig Weekender and Big Yearender pin their free spins game to the top row.
new releasesPushed only to players whose taste matches the game.
live tablesOpen tables with free seats rank first; closed ones grey out (already automatic today).
paydayOnly free-to-claim content. MrQ's own safer gambling scorecard tracks payday deposit spikes.
provider healthDown providers drop out within minutes and similar games fill the gaps.

Never, for any segment: ranking by spend or theoretical loss, pushing higher stakes, reacting to loss streaks, "VIP" or exclusive labels, or using the risk level for anything other than protection.

The gap

What top UK casinos do that MrQ does not

FeatureWho does itMrQ todayIn our demo
Lobby order tested and proven with A/B testsEntain Boost, EveryMatrixNoTwo lobbies side by side, weights you can tune live
"Games like this" on every tileBoost, Vegangster, BetMGMOne row onlySimilar games sheet on tap
Daily free game tilebet365, Sky Vegas, Betfred, 888, VirginUnsureFree game tile moves to each player's best spot
Auto-hide a down providerStandard practiceManualKill a provider live
Bingo rooms mixed with slots by "starts soon" and tasteMecca and Jackpotjoy only sort roomsData exists, not rankedOne blended strip, new in the market
Filters by provider, volatility, mechanicLeoVegas, BetMGMCategory tabs onlyFilter chips, ranking kept inside
Safer gambling built into the productMr GreenScorecard in back officeRisk-aware lobby mode
Demo playNon-UK sitesNoLeave out: UK needs an age check first
What the best do

Borrowed from the top casinos, crypto included

WhoWhat they doFor us
LeoVegasOwn engine ranks 6 games per player, leaves out games played in the last 6 months, refreshes weekly. Found theme taste differs by age and region.Copy: discovery row separate from "Jump back in"
Mr GreenGreen Gaming: green, amber or red risk view for the player; higher risk gets no sales messagesCopy: our risk-aware mode
Stake, Shuffle, RoobetOwn "Originals" games row, instant search, provider filtersCopy: an "Only on MrQ" row and fast search
Rainbet, BC.Game6,500 to 10,000+ games with filters by provider, mechanic and volatilityCopy: filter chips on every row
Entain Boost, Vegangster"Picked for You" and "Because you like…" rows, A/B tested against the old lobbyCopy: row naming and the A/B story
Slotomania, HuuugeLive events placed in each player's journey, clubs and friend challengesAdapt: free daily game, no interrupting banners
StakeLive bet feed, "High Rollers" tab, wagering races, rakeback VIP ladderAvoid: social proof of wins and rewards for staking more
FanDuelLinks sports a player follows to casino gamesAvoid: mixed-product promotions banned from 19 Dec 2025
The engine

One score per player and game

score = 0.45 · fit (similar to what this player plays) + 0.20 · popular (launches in their segment, this hour) + 0.10 · fresh (new releases, fades over 30 days) + 0.10 · explore (gives under-shown games a chance) + 0.15 · business (GGR per game, capped; 0 if at risk) − ∞ · down (provider failing health check)
fitCosine similarity between the game's tags and the player's recent games, weighted so last week counts most (e^(−age/7 days)).
popularShare of launches of this game among players in the same segment at this hour, 0 to 1.
fresh1 − days since release ÷ 30, never below 0.
explore√(2·ln N ÷ n), where N is total impressions and n is this game's. Keeps the lobby learning.
new playersNo history yet, so fit weight starts at 0 and grows after 3 launches. Popular and fresh carry them.
rowsFill row templates with top games, order rows by the average of their top 5, and cap any provider at 2 of the first 6 tiles.
Safety by design

Three things that make judges trust it

Three minute demo

The script

  1. 0:00–0:30The problem: one lobby for everyone, the 2% figure, and the Goosicorn outage where broken tiles stayed live for 53 minutes.
  2. 0:30–1:15Dan and Sue side by side. Same catalogue, completely different lobbies. Open a "why am I seeing this" panel.
  3. 1:15–1:45Click a game as Dan and watch the rows re-rank. Slide the clock from lunchtime to evening and watch Sue's bingo rows move.
  4. 1:45–2:15Kill a provider live. Tiles fade, similar games from healthy providers take their slots, and the health panel turns red.
  5. 2:15–2:30Flag Sue as at risk. Promotion and business weight drop to zero in front of the judges.
  6. 2:30–2:45The metrics panel: 1,000 simulated players, today's lobby vs ours. Next game on the first screen, time to first game, quick exits, share of catalogue shown, and "0 promotions to at-risk players".
  7. 2:45–3:00How it ships: it plugs into the existing lobby API and Spark's computed rows, and the provider breaker builds on CON-650.
Build plan

Five lanes, suggested owners

Lobby UI

Cho, Fran
  • Copy row and tile patterns from mrq-front DynamicLobby
  • Player switcher, side-by-side view, clock slider
  • Fade and swap animation for down providers

Mock data

Jake
  • 60 games with real metadata fields (provider, volatility, theme, RTP)
  • 4 players with play history and segments
  • Fake GGR per game, shaped like fct_game_performance_daily

Ranking engine

Chris
  • Score formula and row builder as one API
  • Weights editable live in a debug panel
  • Provider cap and at-risk rules

AI layer

Samuel
  • Claude writes row titles, "why" lines and the banner
  • Guardrail word list and audit log
  • Cache results so the demo never waits

Provider health and pitch

Whoever finishes first
  • Health panel with a "kill provider" switch
  • Rehearse the 3 minute script twice
  • Repo and Railway URL on the Hackathon Hub

Owners are a starting suggestion; swap them to fit who is strongest at what. Stack: React front end and a small Node API on Railway, in the mrq-vibes org.

Wed to 13:00Repo, Railway, mock data shape agreed
Wed 14:00–18:00Engine and UI talk to each other with real rows
Wed 19:00–22:00AI copy, provider kill switch, at-risk mode
Thu 09:00–12:00Polish, animations, fix what breaks
Thu 12:00–13:55Freeze features, rehearse twice, submit
Risks

What could sink it