Complete Guide

Direktor Documentation

Welcome to the complete guide for Direktor, the modern, mobile-first tournament management system designed for Scrabbleยฎ and other pairwise competitive games. This documentation covers everything from basic setup to advanced features.

๐Ÿ“ข

What is Direktor?

Direktor is a cloud-synced tournament management platform that streamlines player registration, round scheduling, score tracking, and real-time bracket visualization. It's optimized for use on phones, tablets, and desktops by both tournament directors and players.
Directors
Full tournament control
Players
Submit scores via phone
Spectators
Live public standings
๐Ÿ’ก

Key Features

  • 8 Pairing Algorithms including Swiss, King of the Hill, Round Robin, Fontes, and COP
  • Live Glicko-2 Ratings that update in real-time during the tournament
  • Photo Center with automatic player-photo matching from ZIP archives
  • Team Mode for team-based tournaments with aggregate standings
  • Player Score Submission with director approval workflow
  • PDF Exports for scorecards and player tags
  • Public Tournament Portal with shareable links
  • Offline Support with automatic sync when reconnected

Getting Started

For Tournament Directors

1

Create an Account

Visit direktorpro.xyz and click Login. Sign up with your email or use Google/GitHub authentication. Your account is used to save and manage all your tournaments.
2

Set Up Your Director Profile

From the Lobby, click Edit Profile to set your name, country flag, and avatar. This profile is displayed when players view tournament information.
3

Create Your First Tournament

Click New Tournament in the Lobby. The Tournament Wizard will guide you through:
  • Step 1: Tournament name, venue, date, and description
  • Step 2: Mode selection (Individual or Team)
  • Step 3: Division configuration with optional entry fees
4

Add Players

In the Manage tab, use Add Players to enter player names and ratings. You can add players one-by-one or paste a list. Each player is assigned a unique slug for their personal portal.
5

Configure Pairing Rules

Set up your Round Controls to specify which pairing algorithm to use for each round range. For example: Swiss for rounds 1-10, then King of the Hill for rounds 11-12.
6

Start the Tournament

Click Start Tournament to lock in your setup. Then use Pair Next Round to generate matchups. Players can now view pairings and submit scores.

For Players

๐Ÿ“Œ

Accessing Your Portal

Players don't need to create an account. You access your personal portal in two ways:
  1. Scan the QR code on your printed scorecard
  2. Visit the tournament's public page and tap your name in the Players list

What You Can Do

1
View Your Next Game
See opponent, table number, and who goes first
2
Submit Scores
Enter your score and opponent's score after the game
3
Track Your Stats
View live rank, win/loss record, and spread
4
Upload Game Boards
Optionally photograph your board when submitting
๐Ÿ’ก

Score Submission Process

When you submit a score, it goes into a pending state until the director approves it. This prevents errors and allows the director to verify results. You'll see "Pending Approval" status on your game until it's confirmed.

For Spectators

Anyone can view tournament progress without an account. Simply visit the tournament's public URL (e.g., direktorpro.xyz/public/your-tournament).

Rounds View

See all pairings and results for each round

Standings

Live leaderboard with wins and spread

Scorecards

Full history for each player

Player Roster

All participants with ratings

Tournament Setup

Tournament Wizard

The Tournament Wizard guides you through creating a new tournament in three simple steps.

STEP 1Basic Information
  • โ€ข Tournament Name: The display name (e.g., "National Scrabble Championship 2024")
  • โ€ข Venue: Location where the tournament is held
  • โ€ข Date: When the tournament takes place
  • โ€ข Description: Optional longer description shown on the public page
  • โ€ข Total Rounds: Expected number of rounds (used for end-of-tournament detection)
STEP 2Tournament Mode
  • โ€ข Individual Mode: Standard tournament where players compete individually
  • โ€ข Team Mode: Players are grouped into teams with aggregate standings
STEP 3Divisions
  • โ€ข Division Names: Create divisions like "Open", "Premier", "Intermediate"
  • โ€ข Entry Fees: Optional fee per division for online registration
  • โ€ข Multiple Divisions: Players in different divisions are paired separately

Divisions & Entry Fees

๐Ÿ“Œ

Understanding Divisions

Divisions allow you to run separate brackets within the same tournament. Each division has its own:
  • Player roster
  • Pairing schedule
  • Standings and rankings
  • Entry fee (optional)
Players in Division A will never be paired against players in Division B.

Game Rules & Controls

Configure per-division rules under Setup โ†’ Game Rules:

Gibsonization

When enabled, players who have mathematically clinched a position are "gibsonized" - they can only play other gibsonized players or receive byes. This protects players still competing for prizes from facing someone who has nothing to gain or lose.

  • โ€ข Gibson Spread: Maximum spread swing per round (typically 200-250)
  • โ€ข Gibson Min Placement: Only apply to top N positions
Spread Cap

Limits the maximum spread that can be recorded for a single game. If set to 200, a 450-150 game would be recorded as 350-150 (spread of 200 instead of 300). This reduces the impact of blowout games on tiebreakers.

Bye Cutoff

Sets the minimum placement to receive a bye. Players ranked below this cutoff are prioritized for byes when there's an odd number of players.

Round Configuration

Round Controls let you specify different pairing algorithms for different round ranges. This is useful for tournaments that switch from Swiss to King of the Hill in later rounds.

Example Configuration:
RoundsAlgorithmNotes
1-10SwissStandard competitive play
11-12King of the HillFinals: 1 vs 2, 3 vs 4, etc.
๐Ÿ’ก

Swiss Parameters

When using Swiss pairing, you can fine-tune two parameters:
  • Repeat Relative Weight: Higher values more strongly avoid repeat matchups
  • Win Difference Weight: Higher values prioritize pairing players with similar records

Public Page Setup

Configure your tournament's public-facing page under Setup โ†’ Public Page:

Public Slug

Set a memorable URL slug like sunday-bash to create the link direktorpro.xyz/public/sunday-bash

Banner Image

Upload a hero image that displays at the top of your public tournament page. Recommended size: 1200x400 pixels.

Registration

Toggle Registration Open to allow players to register online. Configure payment methods (Paystack, Bank Transfer, or Free) if entry fees are enabled.

Player Management

Adding Players

Method 1: Individual Entry

Click Add Players and enter each player's name and rating individually. The division is automatically selected based on your current view.

Method 2: Bulk Import

Paste a list of players in the format Name, Rating (one per line). Example:

John Smith, 1850
Jane Doe, 1720
Alex Johnson, 1600
Method 3: Online Registration

When registration is open, players can register themselves via the public page. Directors can then review and approve registrations, which automatically adds them to the player roster.

Editing & Removing Players

Click Manage Players to access the player management modal where you can:

  • Edit Name: Change a player's display name
  • Update Rating: Modify the player's starting rating
  • Change Division: Move a player between divisions (before tournament starts)
  • Assign Team: In Team Mode, assign players to teams
  • Upload Photo: Manually upload an avatar image
  • Delete: Remove a player from the tournament
โš ๏ธ

Important

Removing a player after the tournament has started will also delete all their game results. This action cannot be undone. Consider pausing a player instead if they need to temporarily withdraw.

Photo Center

The Photo Center allows bulk upload of player photos from a ZIP archive. This is especially useful for large tournaments with existing photo databases.

1

Prepare Your Photos

Organize player photos in a ZIP file. Supported formats:
  • TSH Format: Include a MANIPICS.txt file mapping player IDs to photo filenames
  • Named Files: Name each photo file with the player's name (e.g., john-smith.jpg)
2

Upload the ZIP

Open the Photo Center and drag your ZIP file or click to select it. The system will parse the archive and extract all images.
3

Review Matches

Direktor automatically matches photos to players using:
  • Exact ID matches (from MANIPICS.txt)
  • Exact name matches
  • Filename matches
  • Fuzzy name matching (Levenshtein distance)
4

Confirm & Upload

Review the automatic matches, manually assign any unmatched photos, then click Save All to upload photos to cloud storage.

Pausing Players

๐Ÿ“Œ

What is Pausing?

Pausing a player temporarily removes them from pairings without deleting their record or past games. Useful when a player needs to:
  • Take a break for a few rounds
  • Leave the tournament early
  • Handle an emergency
Paused players appear at the bottom of standings and are automatically excluded from future pairings until unpaused.

Team Mode

Setting Up Teams

Team Mode allows you to group players into teams and track aggregate team standings alongside individual standings.

1

Create Teams

In Setup โ†’ Teams, click Add Team to create teams. You can customize each team's name, color, and icon.
2

Assign Players

In Manage Players, use the team dropdown for each player to assign them to a team.
3

Configure Team Pairing

Choose how teams should be paired in Round Controls. Options include Team Round Robin, Team Match, or Full Team Round Robin.

Team Pairing Types

Team Round Robin

Splits the field into two groups (Top vs Bottom or Snake/Interleave) and pairs between groups. One player from Team A plays one from Team B each round.

Team Match (Dual)

Pairs by seed: Team A's #1 plays Team B's #1, Team A's #2 plays Team B's #2, etc. Best for head-to-head team competitions.

Full Team Round Robin

Every player plays ALL opponents from the opposing team across multiple rounds. For two 6-player teams, this creates 6 rounds of play.

Team Standings

Team standings aggregate individual game results:

  • Team Points: Sum of all wins by team members (1 per win, 0.5 per tie)
  • Team Spread: Sum of all individual game spreads
  • Games Played: Total games played by all team members

Pairing Algorithms

Direktor supports 8 different pairing algorithms, each optimized for different tournament formats and stages.

Swiss

The gold standard for competitive tournaments. Pairs players with similar win records while minimizing repeat matchups. Uses a weighted cost function considering repeats, win difference, and rating proximity. Includes teammate avoidance in Team Mode.

Best for: Most tournaments, especially 6+ rounds

King of the Hill (KOTH)

Strict positional pairing: 1st vs 2nd, 3rd vs 4th, 5th vs 6th, etc. Creates dramatic head-to-head battles at the top of the standings. Includes repeat avoidance when possible.

Best for: Final rounds, championship brackets

Round Robin

Everyone plays everyone exactly once. Uses the circle method for efficient scheduling. For N players, generates N-1 rounds (N if odd, with one bye per round). Players are sorted by rating to seed the rotation.

Best for: Small fields (8-12 players), full-play events

Fontes

Groups players into small pods (typically 6 players) for mini round-robins. Players stay within their pod for a set number of rounds. Pods are formed by rating brackets.

Best for: Large fields wanting round-robin feel

๐Ÿ’ก

Fontes N Parameter

Set the "Fontes N" value to control group size. N=5 creates groups of 6 (N+1) players who play 5 rounds within their group. Remainder players are placed in a larger final group.

Factor

Hybrid algorithm: Top players (Factor ร— 2) are paired King of the Hill, while remaining players are paired Swiss. This protects leaders while maintaining competitive balance in the middle of the field.

Best for: Tournaments with clear contender pools

COP (Contender-based Optimal Pairing)

Advanced Monte Carlo simulation-based algorithm. Identifies 'contenders' (players who can still win) through tournament simulations and optimizes pairings to ensure fair championship races. Uses minimum-weight matching (Blossom algorithm) for optimal assignments.

Best for: High-stakes finals, prize distribution optimization

๐Ÿ“ข

COP Configuration

COP has several advanced parameters:
  • Number of Simulations: More simulations = more accurate contender detection (default: 1000)
  • Hopefulness: Minimum probability to be considered a contender (default: 1%)
  • Lowest Ranked Payout: How many positions "matter" for prize optimization
  • Control Loss Threshold: Triggers "Destiny's Child" pairing to give leaders control of their fate

Running the Tournament

Pairing Rounds

Once your tournament is set up and started:

1

Click 'Pair Next Round'

The system automatically determines the next round to pair based on your round controls and current progress.
2

Review Pairings

Pairings appear in the Rounds view. Each pairing shows:
  • Table number (auto-assigned)
  • Player 1 (goes first)
  • Player 2 (goes second)
  • Current records of both players
3

Players Begin Games

Players can view their pairings on the public page or their personal portal. After completing games, they submit scores.
๐Ÿ’ก

Color Balancing

Direktor automatically balances first/second (going first vs second). Players who have gone first more often will be assigned to go second, and vice versa. Head-to-head history is also considered.

Pair Ahead

You can pair multiple rounds ahead while games are still in progress. This is useful for:

  • Printing pairings in advance
  • Letting players see upcoming matchups
  • Reducing wait time between rounds
๐Ÿ“Œ

How It Works

When pairing ahead, the system uses current standings (even if games are pending) to generate matchups. Players can view their next game before completing the current one.

Lagged Pairing (Base Round)

The "Base Round" feature allows you to pair Round K based on standings from an earlier round. This is useful when:

  • Slow data entry: If scores from Round N aren't all entered yet, you can pair Round N+1 based on Round N-1 standings
  • TSH compatibility: Traditional TSH tournaments often use this approach
  • Buffer rounds: Gives directors time to verify results before they affect pairings
Example:

Setting Base Round = 5 for Round 7 means: "Pair Round 7 using standings as of Round 5 completion." Games from Rounds 6 will not affect Round 7 pairings.

Unpairing Rounds

โš ๏ธ

When to Unpair

Use Unpair Last Round if you need to:
  • Fix a pairing mistake before games start
  • Remove a round that was paired prematurely
  • Re-pair with different settings
Warning: Unpairing removes all games and scores for that round. This cannot be undone.

Scores & Results

Player Score Submission

Players can submit their own scores from their personal portal:

Submission Flow
1. View Game
Find your pairing
2. Enter Scores
Your score, opponent's score
3. Submit
Goes to pending queue
4. Wait
Director approves
๐Ÿ“Œ

Score Validation

Scores must be between 0 and 999 points. The system automatically determines win/loss/tie based on the submitted scores. If you accidentally swap "your score" and "opponent score", ask the director to reject the submission so you can resubmit correctly.

Approving & Rejecting Submissions

Directors see pending submissions in the Manage tab with prominent approval controls:

Approve โœ“

Confirms the score and records it as official. The game result immediately updates standings.

Reject โœ—

Discards the submission. The player can resubmit with corrected scores.

๐Ÿ’ก

Bulk Approval

When multiple submissions are pending, you can review them all at once. Each submission shows the submitter name, both scores, and the current status.

Director Score Entry

Directors can enter scores directly without going through the approval process:

  • Click on any pending game in the Rounds view
  • Enter both players' scores
  • Click Save to record the result immediately

Corrections & Amendments

To correct a previously recorded score:

1

Delete the Incorrect Game

Find the game in the Game Management list and click the trash icon to delete it.
2

Re-enter the Correct Score

The game will revert to "Pending" status. Enter the correct scores through director entry or wait for a new player submission.
๐Ÿ“Œ

Amendment Flag

Games that have been modified after initial entry are flagged as "amendments" in the system for audit purposes.

Game Board Photos

Players can optionally photograph their game board when submitting results:

  • Capture: When submitting a score, tap the camera icon to add a board photo
  • Limit: Up to 2 photos per game (one from each player)
  • Viewing: Board photos appear on the Results page as thumbnails
  • Privacy: Photos are stored securely and only visible on the tournament results page
๐Ÿ’ก

Why Upload Boards?

Board photos help verify disputed results, create memorable tournament archives, and can be used for post-game analysis. They're completely optional.

Match Prediction (Simulate)

Spectators and fans can use the Simulate feature on the public pairings page to predict match outcomes before games are played:

  • Prediction Only: Simulations are for entertainment and do not affect actual results or standings
  • Rating-Based: Win probability is calculated using the Elo formula based on both players' ratings
  • Realistic Scores: Predicted scores fall within typical Scrabble ranges (300-550 points) with higher-rated players tending to score higher
  • Visual Feedback: The predicted winner and scores are displayed inline without submitting anything
๐Ÿ“Œ

How Predictions Work

Win Probability Formula: P(win) = 1 / (1 + 10^((OpponentRating - YourRating) / 400))

For example, a 1700-rated player has approximately a 64% chance of beating a 1600-rated player.

Predicted scores are generated using normal distribution around typical averages, with the predicted winner always having the higher score.

๐Ÿ’ก

Just for Fun!

The Simulate feature is designed for spectators to make predictions and add excitement to watching matches unfold. It does not submit any results - only directors and players can submit actual game scores.

Public Tournament Portal

Tournament Landing Page

Every tournament has a public landing page accessible at:

direktorpro.xyz/public/[your-slug]

This page displays:

  • Tournament banner and name
  • Date and venue information
  • Description and event details
  • Registration form (if registration is open)
  • Navigation links to rounds, standings, and scorecards

Round & Pairings View

The rounds view shows all pairings for each round with:

  • Table assignments
  • Player matchups with current records
  • Results (once submitted and approved)
  • Win/loss indicators
๐Ÿ“Œ

Two View Modes

  • Pairings View: Shows who plays whom, optimized for finding your table
  • Results View: Shows completed game results with scores

Standings

Live standings update in real-time as results are approved. The standings table shows:

  • Rank: Current position (ties are ranked by spread, then rating)
  • Player: Name and avatar
  • Record: Wins-Losses(-Ties)
  • Spread: Cumulative point differential
  • Rating: Current provisional rating

Scorecards

Each player has a detailed scorecard showing their complete tournament history:

  • Round-by-round results
  • Opponent names
  • Individual game scores
  • Round spread and cumulative spread
  • Win/Loss/Tie indicators
๐Ÿ’ก

Download PDF

Players can download their individual scorecard as a PDF by clicking the download button on their scorecard. This creates a printable document with QR code for quick portal access.

Player Personal Portal

Each player has a personal portal at:

direktorpro.xyz/p/[player-slug]

The personal portal provides:

  • Next Game: Opponent name, table number, and first/second designation
  • Submit Result: Form to enter game scores
  • Stats: Current rank, record, spread, and rating
  • History: Complete round-by-round scorecard

Reports & Exports

PDF Scorecards

Generate printable scorecards for all players in the tournament. Each scorecard includes:

  • Tournament name and player name
  • QR code linking to the player's personal portal
  • Player photo (if uploaded)
  • Table with columns for round, W/L, scores, spread, cumulative spread, opponent, and attestation signatures
๐Ÿ’ก

When to Print

Print scorecards before the tournament starts. Players can use the QR code to access their portal and submit scores digitally, while the physical card serves as a backup and official record.

Player Tags

Generate stylish, minimalist name tags for players. Each tag includes:

  • Tournament name (header)
  • Player name (prominent)
  • Current rank badge
  • Team name (if in Team Mode)
  • QR code for quick portal access

TOU Export

Export tournament results in .TOU format for submission to rating agencies:

  • Compatible with NASPA and other rating systems
  • Includes all player results and pairings
  • Properly formatted for rating calculation

Live Ratings Report

View provisional Glicko-2 ratings that update in real-time during the tournament. The report shows:

  • Player name
  • Starting rating
  • Current provisional rating
  • Rating change (+ or -)

Glicko-2 Ratings System

Direktor includes a built-in Glicko-2 rating engine that provides live provisional ratings throughout the tournament. Unlike traditional systems that update ratings only after the event concludes, Direktor calculates ratings after each round.

How Glicko-2 Works

Glicko-2 improves on Elo by adding a "rating deviation" (RD) that represents uncertainty. Players who haven't played recently have higher RD, meaning their ratings can change more quickly.

Live Updates

Ratings update after each round of games is complete. This allows directors and players to track performance trends in real-time during the tournament.

๐Ÿ“Œ

Key Parameters

  • Default Rating: 1500 (for new players)
  • Default RD: 350 (high uncertainty for new players)
  • Volatility (ฯƒ): 0.06 (how much rating can fluctuate)
  • Tau (ฯ„): 0.5 (system constant controlling volatility change)
โš ๏ธ

Provisional vs Official

Ratings shown in Direktor are provisional and for informational purposes only. Official ratings from rating agencies (NASPA, WESPA, etc.) may differ based on their specific rating parameters and calculation timing.

FAQ & Troubleshooting

General Questions

Score Issues

Pairing Problems

Sync & Connectivity

Still Need Help?

Our support team is ready to assist with any questions not covered here.

Contact Support

Developer API

Authentication

The Direktor API uses API Keys to authenticate requests. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.

๐Ÿ“ข

X-Direktor-Key Header

All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.
X-Direktor-Key: dk_live_...

Managing Keys

You can manage your API keys directly from the API Dashboard.

1

Generate a Key

Provide a descriptive name for your key (e.g., "Main Website") and click the plus icon.
2

Secure Your Secret

Crucial: We only show the full secret key once. Copy it immediately and store it in a secure password manager or environment variable.
3

Rotate if Compromised

If you suspect a key has been leaked, delete it immediately from the dashboard and generate a new one.

Core Endpoints

Base URL: https://direktorpro.xyz/api/v1

GET /tournaments

Returns a list of all tournaments you have access to. Includes basic metadata like status and current round.

GET /tournaments/:id

Returns a full snapshot of the tournament, including all players, games, divisions, and teams.

GET /tournaments/:id/standings

Optimized endpoint for leaderboards. Returns player lists and game results stripped of non-essential metadata.