Pass-and-Play Party Game
Coming soonQuitaIsso
A local-first pass-and-play social deduction game for one phone: configure a party, reveal roles privately, then move through timed discussion, voting, elimination, and the Penetra's last-chance guess.

Main menu
The neon home screen separates local play, online rooms, and the rules surface.
Features
- Guest list setup with pass-and-play handoff
- Role reveal with a 3D card flip
- Timed discussion arena with player elimination
- Host-mode voting and impostor interrupt flow
- Game-over recap with instant replay
Final goal
Deliver a complete social deduction party game that a group can play together on a single shared phone.
Engineering
A Flutter application with Riverpod state, GoRouter navigation, SharedPreferences persistence, and a sealed game-state model. GameNotifier owns role distribution, word assignment, timers, turn order, voting, elimination, win conditions, scoring, and replay without splitting the rules across individual screens.
Pipeline
- 01
Configure players, timers, language, word category, and optional photos
- 02
Generate the role distribution and a paired VIP/Impostor word while persisting the last configuration
- 03
Pass the phone player by player through a private role and word reveal
- 04
Run shuffled discussion turns, timer expiry, interrupt rules, and voting
- 05
Resolve elimination, the Penetra guess, win conditions, points, and replay
Multiplayer
A second, additive online mode runs the same rules against a Dart WebSocket server backed by Redis. The Flutter client is presentation-only: it renders versioned room snapshots while the server owns roles, speaker order, timers, ballots, elimination, the Penetra guess, and scoring. Both the local pass-and-play game and the online server call one shared pure engine in packages/quita_isso_core, and reconnection tokens plus idempotent actions let a player rejoin the exact phase they left.
Notes
- Core loop is implemented; polish, audio, responsive layout, and tests remain.