seongjun

Play together

Hanpan

Let the app run the game.
Let friends do the talking.

A party-game hub where everyone joins with a room code and their own phone.

Product · UX/UI · Engineering · Operations

Private roles stay private because the server only sends what each player is allowed to see.

The starting problem

Cards and a dedicated host leave someone outside the game. Getting friends into the same session adds friction. The goal was to remove setup and administration so everyone can play.

The experience

  1. Choose a game
  2. Invite by code or link
  3. Take private actions
  4. Discuss and reveal

Design decisions

Start with the invited player

The home screen puts joining with a received code before choosing a game. Hosts and invited players have distinct starting points.

Protect secrets on the server

Roles and secret words are not merely hidden in the UI. Each response contains only what that player may see, including live updates.

Keep a session moving

Version checks stop simultaneous actions from overwriting each other. A host handover gives connected players a way to continue when the host disappears.

Implementation & scope

The web, Apps-in-Toss, and mobile clients share game logic and screens. Platform differences such as networking, ads, and purchases sit behind separate adapters.

Next.jsTypeScriptRedisCapacitor

Playable on the public web. Store and Toss distribution are separate; the images here show the public web client.

Open the service ↗
Next projectMomo’s Bamboo Forest