Gaming beta: Discord sign-in, brackets and a live Trust Score by Vincent L. AndersonGaming beta: Discord sign-in, brackets and a live Trust Score by Vincent L. Anderson

Gaming beta: Discord sign-in, brackets and a live Trust Score

Vincent L. Anderson

Vincent L. Anderson

Concept demo with a fictional brand and sample data. Not client work.
An admin reports a result and rules on a dispute: the bracket and Trust Scores move at once
A closed beta for about 100 players: invite-only seats linked to Discord accounts, an 8-player double-elimination bracket (winners bracket, losers bracket, grand final and reset), disputes with evidence and an admin ruling, identity verification, and a Trust Score on each profile that updates live.
How it is built
React and TypeScript front end built with Vite, with a data layer that uses the Supabase client calls (select, insert, update, realtime channel).
Postgres schema as Supabase migrations: 10 tables, 17 row-level-security policies, and a compute_trust_score() function with refresh triggers on matches, disputes and verifications.
Supabase Edge Functions: a Discord OAuth callback (state cookie, code exchange, invite check, auth user link, profile row) and an identity verification webhook (HMAC signature check, status changes).
The same Trust Score, bracket and dispute rules in TypeScript and in SQL.
Tests: 43 of 43 Vitest tests and 44 of 44 Postgres checks passed.
Trust Score on a profile with every part of the score and its history
Trust Score on a profile with every part of the score and its history
Dispute with clip, screenshot and match log evidence, and the admin ruling
Dispute with clip, screenshot and match log evidence, and the admin ruling
Continue with Discord: redirect, callback, session and profile row
Continue with Discord: redirect, callback, session and profile row
Phone layout at 390 px
Phone layout at 390 px
Like this project

Posted Oct 13, 2026

Demo with sample data: invite-only tournaments for 100 players. Discord sign-in, identity checks, a double-elimination bracket, disputes with evidence, and a Trust Score that updates live. React, TypeScript, Supabase, Postgres RLS.