Max Bonus Club · Loyalty & Gaming · Mobile · Web · Terminal
A loyalty platform for a gaming venue network.
Max Bonus Club turns visits to physical gaming venues into points, ranks and rewards — a cross-platform product wired live into the venues' Octavian gaming system. One team built the mobile apps, the backoffice and the in-venue layer, from a single backend.
The brief
Gaming venues already know their players through the Octavian platform — sessions, cards, transactions. What they didn't have was a way to turn that activity into a loyalty relationship players carry in their pocket.
The task: build a bonus club that reads a player's real venue activity, ranks them, lets them spend points on rewards and pulls them back through games and referrals — without ever becoming the source of truth for the sensitive gaming data. Octavian stays authoritative; the club sits on top.
At a glance
Product: Max Bonus Club — loyalty app for a network of gaming venues across Croatia.
Role: EM2 as the standing product & engineering team — mobile, web backoffice, in-venue terminal and backend.
Integration: live, two-way sync with the Octavian gaming API.
The build
One platform,
four surfaces.
Mobile app — iOS & Android
React Native + Expo. The player-facing club: rank, prize points, rewards, games, referrals and a venue map — shipped to both stores from one codebase.
Web backoffice
An Angular admin & operator console for managing players, rewards, prize games and promotions — with role-based access for staff and superadmins.
In-venue terminal + RFID
A terminal surface with an RFID card reader, so a player's physical club card ties straight into the same points and rewards backend on-site.
Backend & Octavian sync
A Java 17 / Spring Boot API with scheduled Quartz jobs that keep points, ranks and sessions continuously in sync with the Octavian gaming platform.
The loyalty engine
From a venue session to a
reward in your pocket.
Ranks
Red, Silver, Gold and Platinum tiers, derived from real play and shown as a status card on the home screen.
Prize points
Spendable points with a live "next reward" progress bar — synced from Octavian, never invented by the app.
Rewards catalog
Redeem points for drinks, cigarettes or cash withdrawal, then collect in venue via a coupon.
Prize games
Wheel of Fortune, surveys and raffles reward engagement — with real, finite prize pools behind them.
Referrals
Every player gets a shareable 5-character code and earns a reward for each friend who joins.
Promotions & alerts
Targeted promotions plus push notifications for rank changes, new games and expiring coupons.
Product thinking
Prize games with real inventory.
Every spin wins
A weighted wheel where the backend decides the prize from what's actually left in the pool — and quietly redistributes odds as prizes run out.
Answer, then win
The prize is drawn at completion from the same finite pool — so a reward is only ever given if it's genuinely still available.
One big draw
Players enter during a window; at draw time the system selects N winners from the pool in a single fair batch.
Depleted prizes stay visible on the wheel, greyed out rather than removed. A player who arrives late still sees the full promotion — it keeps the game feeling fair and builds anticipation for the next one, instead of quietly shrinking the wheel. Concurrency is handled with optimistic locking so a pool can never be over-drawn.
The integration
Sitting on top of Octavian, not replacing it.
The hard part isn't the UI — it's staying truthful to a live gaming platform. The backend authenticates to Octavian over OAuth2 and keeps the club in step with the source of truth.
- 10 minScheduled sync pulls sessions, transactions and card levels for every player.
- RankStatus is computed from a rolling 12-month window — with logic to warn players before a demotion, not after.
- PointsPrize points and rank always reflect Octavian; the app only ever displays them.
- VenuesLocations, cards and prizes flow in from the same API into the map and rewards.
On the stores
Max Bonus Club, shipped.





The result
A club that lives across the network.
Stack — React Native · Expo · Angular · Java 17 · Spring Boot · Quartz · PostgreSQL · Octavian API (OAuth2) · RFID