Every match repeated the same coordination work
Operators had to reconcile Discord rosters, actual participants, role preferences, tiers, team assignments, and shareable results across separate tools.
Follow the operator workflow from roster to result
OWKR Balance imports or manually accepts rosters, checks actual participants, and evaluates team candidates using role preferences, unranked states, tank gaps, and microphone status.
Shared user sheets, private operator notes, Discord OAuth, and Upstash Redis keep team data, personal notes, and access control clearly separated. Operators can copy the final matchup as an image and paste it directly into Discord.
Keep live use separate from development validation
OWKR Balance is actively used by OWKR operators. The separately developed Gather Bot passed automated concurrency and restart-recovery scenarios but was not adopted, so its results are presented only as development validation.
Trace
Product design, balancing algorithm, operator interface, shared user sheet, and data architecture for OWKR Balance
Live operations · Constraint matching · Admin workflow · Shared roster
React 19 · Vite · TypeScript · Vercel Functions · Upstash Redis · Discord OAuth · Vitest