Skip to main content
Version: 2.0 PartyKit

User Stories

Host

  • I want to create a wine test by adding wines, so that each wine becomes a round with 5 questions (color, country, grape variety, vintage year, wine name) that I fill in with a correct answer and 3 distractors.
  • I want a generated 4-digit code for my session so participants can join easily without accounts.
  • I want a Host Dashboard so I can control the pace of the game:
    • Start opens the lobby; starting the first round closes it.
    • Pause / Resume freezes and restores the question timer (remaining time is preserved on resume).
    • Reveal Answer manually closes the current question and highlights the correct option for all participants.
    • Next advances to the next question, or — after the last question of a wine — shows the round leaderboard and then moves to the next wine.
    • End terminates the session and pushes everyone to the final leaderboard.
  • I want to see which participants have submitted an answer (not what they answered) so I know when everyone is done and I can reveal early.

Participant

  • I want to join a session by entering a 4-digit code so I can participate without creating an account.
  • I want to be assigned a generated pseudonym automatically so I don't have to think of a name.
  • I want to answer multiple-choice questions within a 60-second window, knowing my first tap is final.
  • I want to see the correct answer highlighted after the host reveals it, along with my points for that question.
  • I want to see the leaderboard after all questions of each wine are completed, so I can track my standing throughout the game.
  • I want to see a final leaderboard when the host ends the session, which stays on screen until I close the tab.

Edge cases & constraints

  • No new players can join after the session starts (first round begins) or once 10 players are connected.
  • Pseudonyms are unique within a session and generated by the app — no custom names.
  • Participants who disconnect cannot rejoin; their score is frozen and they remain on the leaderboard.
  • If the host closes the browser, the session ends and participants see a "session ended" message — it cannot be resumed.
  • Participants who don't answer before the timer expires receive 0 points for that question; no other penalty.