Party
One phone opens a room, the rest join with the code. Four games: two prompt games where the room decides who drinks, Liar's Dice for bluffing, and Stack, a co-op platformer where you stand on each other to reach the door.
How it's built
No websockets and no dedicated server. A room is one row in the same database as the leaderboard, with a version number. Every phone asks "anything newer than version N?" every couple of seconds and gets an empty reply unless something changed. Two actions landing at once are resolved by a conditional update on that version: the loser re-reads and reapplies, so nothing is lost.
Liar's Dice adds a secret: your dice. The server rolls them and blanks everyone else's hand before it sends you the room, so the only phone that ever holds your dice is yours.
Stack cannot run on a poll every couple of seconds, so it does not use the server at all once it starts. The host's phone runs the game and each guest connects to it directly over WebRTC; the room only carries the handshake. On one Wi-Fi that is a direct connection with a few milliseconds of delay. Across different networks it relies on a public STUN server and can fail behind some carrier firewalls, since there is no relay to fall back on.