BeatKhana Development

Platform concepts

How public BeatKhana services, live tournament state, media and integrations work together.

Public platform

The BeatKhana website provides tournament discovery, registration, team management, schedules, brackets, pooling, coordination and broadcast tools. Durable changes pass through the HTTPS API. Live screens use realtime connections so coordinators, overlays and viewers can receive updates without repeatedly refreshing.

Identity and access

People sign in to BeatKhana using Discord. External applications use BeatKhana OAuth 2.0 and receive BeatKhana access tokens; they do not receive a person's Discord token. OAuth scopes limit what an application can request, while the person's platform and tournament permissions decide what they may actually do.

TournamentAssistant

TournamentAssistant and BeatKhana are separate systems. TournamentAssistant supplies live room, player, map and score information during supported tournaments. BeatKhana connects that state to its selected tournament and match, then presents it in coordination and overlay tools. Organisers must create and configure the TA tournament separately.

Live telemetry is not automatically an official result. Staff still review the match and declare its winner before bracket advancement.

Dynamic overlays

An overlay contains scenes and reusable components. The editor changes that document, and a renderer combines it with the selected tournament, match and TournamentAssistant state. OBS can open a scene as a browser source. The work-in-progress desktop app opens the same renderer in exact-size windows and can expose supported platform-native outputs such as Spout on Windows.

Streaming and playback

BeatKhana accepts low-latency WebRTC contribution through WHIP. A player or broadcaster publishes using an assigned endpoint and bearer token. Overlay WebRTC players retrieve a stream through WHEP, usually by following the user assigned to a live player slot. This separates publishing credentials from view-only playback.

REST, realtime and media

  • Use REST for durable reads and changes such as tournament settings, registrations, teams, pools and overlay documents.
  • Use realtime connections for live coordination, document updates and TournamentAssistant projections.
  • Use the media service for uploaded artwork and overlay assets rather than embedding large files in API payloads.
  • Resynchronise a complete state after reconnecting; do not assume every missed live update will be replayed.

See Developer overview, Realtime API, and Streaming and casting for practical integration details.

On this page