Skip to content
Ritesh FirodiyaGet in touch

Work / Imposter / Wiki / Surfaces

players

Surfacecanonicalverified 2026-09-23

SURFACE.MOBILE.SETUP.PLAYERS

Summary

The names, as a sheet reached from Setup and returning to it.

Raw wireframe

  • .context/designs/mobile/setup/players.html

Why it is drawn this way

A sheet, not a step. It used to be step 1 of 3 with "Next: roles" at the bottom. It is reached from a row on setup now and returns there, so the only forward motion in the app is the one button that deals the cards.

Names are remembered between games. The second round is the one that actually gets played, and re-typing five names at a table is exactly where a group gives up and puts the phone down.

The field stays focused and the keyboard stays up — type, Enter, type, Enter. Tapping a name edits it in place; the × removes.

Minimum three. With two there is nobody to suspect. The CTA states the number missing rather than sitting greyed out with no reason: a disabled control with no explanation is a dead end.

Avatars are lucide icons on a neutral plate, never emoji. The first build shipped emoji here and every one rendered as a tofu box on the simulator — five identical grey discs, in the one place the game has to tell people apart. Emoji are a font lookup and degrade silently; lucide draws through react-native-svg and cannot.

Removing a player re-seats the wheel. Two players three icons apart after a deletion is a visible accident.

Related

Sources

  • .context/designs/mobile/setup/players.html
  • src/app/setup/players.tsx
  • src/theme/icons.tsx — AVATARS
  • src/lib/roles.ts — MIN_PLAYERS

Every project of mine is written down like this.

Read the résumé