GoMoWorld Heathrow Slot Machine Activation
A full-screen, vertical-reel slot machine brand activation deployed at Heathrow Airport, featuring a four-tier prize engine, live operator controls, and offline-first kiosk architecture.
- Role
- Full-stack Engineer
- Client
- GoMoWorld
- Agency
- Spark Play Ltd
- Year
- 2026

Stack
- Full-stack Development
- Interactive Kiosk
- Brand Activation
- Offline-first
- Rive Animation
Overview
A full-screen, vertical-reel brand activation engineered for GoMoWorld inside one of the world's busiest airports. Travellers spin the reels for a chance to win across a four-tier prize structure, while on-site operators manage the experience in real time through a dedicated control surface. The system runs as a Windows 11 kiosk with an offline-first architecture so the activation continues to function regardless of network conditions.
Spark Play Ltd led the activation as the agency, owning the client relationship with GoMoWorld and the creative direction. I came in as the engineering partner, delivering the kiosk and operator applications, the prize engine, and the offline-first runtime that powers it on the ground at Heathrow.
What I Built
I owned the application end-to-end across both the kiosk and operator surfaces:
- Slot Engine. Engineered the vertical-reel mechanic and the four-tier prize engine, including weighting, eligibility rules, and audit logging.
- Operator Console. Built a live operator control app for prize configuration, queue monitoring, and on-the-fly intervention during the activation.
- Offline-first Runtime. Implemented local persistence and sync layers so the kiosk remains fully playable without connectivity, reconciling state once the network returns.
- Animation & Feedback. Integrated Rive for fluid reel animations and reward states, keeping the experience smooth on locked-down kiosk hardware.
- Monorepo Foundation. Structured the codebase as a Turborepo with shared TypeScript packages between the kiosk, operator app, and engine to keep behaviour consistent across surfaces.
Technical Implementation
The two surfaces — kiosk and operator app — share a common TypeScript package layer so prize logic, weighting rules, and audit events behave identically regardless of which surface triggers them. The offline-first design was non-negotiable for an airport venue: local persistence handles all game state during connectivity gaps, and a reconciliation layer syncs cleanly once the network returns. Rive handles the reel and reward animations; it compresses well and renders efficiently on locked-down Windows hardware where GPU headroom is constrained.
Why It Matters
Airport activations are unforgiving — the hardware is locked down, the network is unreliable, and the audience is moving. Engineering for that environment means offline-first isn't a nice-to-have, it's the baseline. The prize engine also needs to be auditable from day one: prize distribution, eligibility decisions, and operator actions all log to a structured audit trail that Spark Play and GoMoWorld can pull for post-activation reporting. Getting both the resilience and the compliance right is what makes a slot-machine activation feel like a professional product rather than a demo.
Gallery
