Three user tiers ยท Three surfaces ยท One backbone
๐
Super Admin
Sadie โ you
โ๏ธ Full backend access
๐ฅ Manage all Client Hosts
๐ All sessions & analytics
๐ณ Billing oversight (Stripe)
๐ Manage game content (scenarios, decks)
๐ฉ Ban / suspend users
๐ฎ Host your own games
๐๏ธ
Client Host
Polycule ยท Bar ยท Lounge
๐ Create & name rooms
๐ Invite players (link or code)
๐ช Manage who enters their room
๐ฎ Start / control game flow
๐น Host video tile (larger)
๐ Reveal groups & rename
๐ณ Pays monthly subscription
๐ด
Player
Anyone who joins
๐ฑ Join by code or link
๐ค Just a display name โ no account required
๐ Answer: Emotions tab
๐ฉ Answer: Behaviors tab
โก Answer: Actions tab
๐ Flip to video gallery view
โจ See match reveal
Three surfaces โ all connected
๐ฅ๏ธ
Host Dashboard
Web app. Host creates the room, sees all video tiles (their tile larger), controls game flow. Has full admin backend tab (Super Admin only).
React webLiveKit videoSupabase
๐
Player Web App
Same URL, player role. Join by code. Scenario + answer tabs. Flip-flop toggle to video gallery. Works on phone, tablet, or laptop browser โ no install.
React webLiveKit videoTablet-friendly
๐ฑ
Mobile App (Expo)
Native iOS/Android. Join by code. Game UI with scenario, answer tabs, and a swipe or toggle to see the live video gallery. Best for personal phones.
Expo React NativeLiveKit RNiOS + Android
๐น
LiveKit
Video rooms
+
๐๏ธ
Supabase
Auth ยท Game data ยท Realtime
+
๐ณ
Stripe
Subscriptions
+
โก
Supabase Edge Fn
LiveKit token minter
Does this architecture match your vision? Anything to add or change?
Next we'll design the individual screens for each surface, starting with the Client Host experience.