Add email and/or contact info (e.g. phone, WhatsApp) for each player. Used for notifications and shared with co-players.
Assign a strength score to each player/team. Used for initial seeding only β real scores take over after round 1.
Add email and/or contact info (e.g. phone, WhatsApp) for each player. Used for notifications and shared with co-players.
Assign a strength score to each player/team. Used for initial seeding only β real scores take over after round 1.
Add email and/or contact info (e.g. phone, WhatsApp) for each player. Used for notifications and shared with co-players.
Assign a strength score to each player/team. Used for initial seeding only β real scores take over after round 1.
Search and manage Player Hub profiles. Link or unlink tournament participations and reset credentials.
Search, create, and manage admin and organizer accounts. Invite new users by email or reset credentials.
Send an invite link β the recipient sets their own password. Link expires in 48 hours.
The community pre-selected when you create a new tournament or lobby.
Create and manage communities to scope ELO ratings and group tournaments by club or league.
Reassign tournaments to different communities. Changes take effect immediately.
Reassign registration lobbies to different communities.
Upgrade a community to a club to add branding, player tiers, and seasons.
A practical control center for Padel and Tennis events: create tournaments or lobbies, manage rounds and scores, and share a live public view with players and guests.
Admin β the organizer's control panel for creating tournaments and lobbies, managing rounds and scores, and coordinating the team. TV View β a public read-only display at /tv/<id> showing live standings, results, and the bracket, designed to be shown on a big screen or shared with all participants. Registrations β a sign-up page where players self-register with custom questionnaires before an event starts. Player Hub β each participant's personal dashboard at /player, aggregating all their active and past events under one passphrase.
Participants never create a username or password. Each player is issued a unique passphrase β a short sequence of words β that gives access to their personal match view, score entry, and the Player Hub. The organizer can share it as a printed card, a QR code, or by email.
Supports multiple tournament formats (Group+Playoff, Mexicano, direct Playoffs), co-organizers, player self-scoring, announcements, shareable links, and quick transitions from registration lobby to live competition β with every player credential carried over automatically.
What participants typically do from sign-up to results.
Players register through a lobby (public list or join code) and submit answers to organizer-defined questions. On registration, each participant receives a unique passphrase β a short sequence of words that acts as their personal key throughout the app.
When a tournament starts, players enter their passphrase (or scan a QR code) to reach their personal match view β pairings, courts, standings, and score entry, all scoped to them. The passphrase can be shared by the organizer as a printed card, a QR code, or by email.
Players can follow live standings, see their upcoming pairings and assigned courts, and (if enabled by the organizer) submit or confirm scores directly from their own view, reducing the admin's workload mid-event.
Announcements, match comments, and optional email updates keep everyone aligned during the event.
Players can set up a Player Hub profile at /player with just an email. This gives them a single persistent passphrase that works across all events: registering for a lobby pre-fills name, email, and contact automatically; once a tournament starts it appears in the Hub dashboard alongside all other active and past events.
The Hub also tracks career stats β matches played, win rate, best rank β and lets you browse your history with any specific participant across all tournaments (who you played with, who you played against, and your win rate in each combination).
Players who don't have a Hub profile yet can still link individual events retroactively by entering the passphrase they received for that event.
Typical organizer path from planning to wrap-up.
Create a tournament directly with a fixed roster, or open a registration lobby first to gather participants before the event. Lobbies support custom questionnaires (skill level, availability, etc.), optional join-code access to restrict who can sign up, a public participant list so players can see who else is in, and co-editors to help manage incoming registrations.
Convert a lobby into a live tournament with a single click β choose the format (Group+Playoff, Mexicano, or direct Playoffs), set group sizes, court names, and scoring rules. All registered players are pre-filled automatically and each player's passphrase carries over unchanged, so credentials printed or emailed before the event remain valid.
Use the Player Codes panel to view, copy, download, or print all passphrases as QR-code cards ready to hand out. You can also email credentials individually or in bulk directly from the panel. Players can optionally link their passphrase to their Player Hub profile for cross-event access.
Generate pairings, assign courts, and enter or edit scores as each round plays out. For Mexicano, browse multiple proposed pairing sets and pick the best balance before confirming. Mid-event roster tools allow substitutions where the format supports it. When group rounds finish, trigger play-offs and seed the bracket β adding wildcards or late entries if needed.
Invite co-editors who gain full operational access (pairings, scores, announcements) while ownership-sensitive actions β deleting the tournament, managing credentials, changing core settings β stay restricted to the owner and platform admins.
Post announcements that appear on every player's view and the TV display. Send targeted email notifications to all players or selected individuals. Once the event is done, export a self-contained HTML or PDF summary with the full bracket and match history, then archive the tournament to keep the list tidy.
Custom questionnaires, participant review, co-editors, and one-click conversion into live tournaments.
Round management, score tracking, match comments, announcements, and mid-event roster tools (where supported).
Per-player QR/passphrase login for personal match context and distributed score entry.
Shareable live display for standings, results, bracket, and selected sections with configurable refresh behavior.
Use communities as your base scope, then layer clubs when you need branding, season tracking, and richer club operations.
A community is where tournaments and registration lobbies live. It controls default assignment, keeps operations separated by league or venue, and defines the scope where ELO and rankings are computed (global, community, or club context).
A club sits on top of one community and adds logo branding, player tiers, season tracking, leaderboard views, tournament assignment tools, and co-editor workflows for recurring organizer teams.
Use only communities when you run occasional events, temporary series, or lightweight sign-up flows. You still get full tournament operations, registration conversion, and TV/public sharing without maintaining club roster structures.
Create a club when the same organizer team runs recurring events and needs persistent identity, player roster governance, collaborator workflows, and season continuity. Clubs are also the right place for tier-based progression and club-specific leaderboards.
You can reassign tournaments and lobbies to another community for cleanup or migration. If the new community is incompatible with the current club or season, those assignments are automatically cleared to keep scope relationships valid.
Create communities first (for structure), promote active ones to clubs, assign events to the right season, and keep default community + roster data up to date as your event calendar grows.
Set a default community for admins, keep tournament-to-club assignment aligned before opening registrations, review season assignment before each event starts, and use club branding only where long-term identity matters.
Participants are divided into groups for a round-robin stage, then top finishers advance to a knockout bracket. Supports both Padel and Tennis scoring.
Team mode: fixed pairs play every other pair in their group β a complete round-robin. Player (Americano) mode: partners rotate each round so players pair with all others at least once; matchups are formed dynamically to keep each round competitive relative to current group standings.
Pairings are generated each round based on current standings: leaders play against leaders, weaker players against similarly ranked ones. Each round the admin can browse several proposed pairing sets and pick the best balance. Rounds can be unlimited (stop whenever you like) or set to a fixed count.
The Advanced Settings expose fine-grained control over scoring and pairing behaviour:
Start straight in a bracket β seed participants in the desired order and the bracket is generated immediately. No prior group stage needed. Useful for standalone knockout events or fully custom-seeded draws.
Available in every format that includes play-offs. Single elimination (knockout): lose once and you're out. Double elimination (Espejo): a parallel losers' bracket gives everyone a second chance β the finalist must be beaten twice to be knocked out, rewarding consistency across the whole draw.
Use the built-in schema generator below to visualise and export the full bracket structure (PNG, SVG, or PDF) before committing to creating an event.
A margin-aware ELO engine tracks player skill across tournaments. Ratings update after every completed match and appear in the Player Hub.
Instead of pure win/loss, the actual score blends a binary component W (1 | 0.5 | 0) with a continuous margin ratio R. Close wins and blowouts produce different rating changes.
R = 0.5 + (yours β opp) / (2 Γ (yours + opp))
S = Ξ± Β· W + (1 β Ξ±) Β· R
yours = your points, opp = opponent's points, W = win/draw/loss (1 | 0.5 | 0), R = margin ratio, Ξ± = blend weight (0.5). The 0.5 in the R formula is a centering constant (so a draw gives R = 0.5) β it is not related to Ξ±.
S is the blended actual score that replaces the simple win/loss value in the classic ELO update formula. A higher S means a stronger result β the standard ELO calculation then compares S against the expected score to determine how much your rating changes.
After each match your rating changes based on how your blended result S compares to the expected score E. Outperform expectations and you gain ELO; underperform and you lose it.
E = 1 / (1 + 10(opp_rating β your_rating) / 400)
Ξ = K Γ (S β E)
new_rating = old_rating + Ξ
E = expected score (0β1) based on the rating gap β a higher-rated opponent yields a higher E for them and a lower one for you, so beating a stronger player is rewarded more. When S > E your rating rises; when S < E it drops. K controls the maximum change per match (see K-factor tiers below).
New players move faster: Kβ=β40 for the first 20 matches, Kβ=β20 up to 40 matches, then Kβ=β10. This lets newcomers find their level quickly while experienced players have stable ratings.
When your opponent has very few matches, their rating is unreliable. To protect established players (β₯20 matches) from large swings caused by provisional opponents, the rating change is scaled by a reliability factor. Provisional players always receive full deltas so their ratings converge quickly.
reliability(n) = 0.3 + 0.7 Γ n / 20 Β (capped at 1.0)
Ξadj = Ξ Γ reliability(opponent_matches)
n = opponentβs completed match count. The dampener only activates for established players (β₯20 matches). At 0 opponent matches the delta is 30% of normal; at 20 it reaches 100%. In doubles, the minimum reliability of the two opponents is used. Provisional players (<20 matches) always get full rating changes for fast calibration.
Expected score uses team-average ratings. A partner-strength multiplier compensates for mismatched pairs: a strong player paired with a weaker partner gets amplified gains and softened losses, and vice versa. The multiplier ranges from 0.5Γ to 1.5Γ.
Winners always gain at least +1 ELO and losers always lose at least β1, regardless of margin or expected score. Every match result is meaningful.
Once qualifying rounds are done, the admin triggers the play-off phase. The workflow differs slightly per format.
When all pending group matches are completed a Start Play-offs button appears. Clicking it fetches a recommended list of advancing participants ranked by group standings. The admin can then tick or untick any participant to adjust the selection, add external / seeded participants by name and score (useful for wildcards or late entries that skip the group stage), choose single or double elimination, and confirm. The checked order determines bracket seeding.
Play-offs are optional and can be triggered at any point after any Mexicano round. When started, the admin sees a team-builder where each bracket seed slot has player dropdowns pre-filled based on leaderboard rankings. In individual mode, the admin pairs two players per slot to form a bracket team β the combined leaderboard score is shown as a guide. In team mode, each slot holds one pre-formed team. Any slot can be replaced by an external participant. Once all slots are confirmed, choose single or double elimination and launch the bracket.
Both formats support adding participants who were not in the qualifying stage directly into any bracket seed slot, with a manually assigned score. Useful for seeded wildcards, guests, or late registrations.
Generate a visual diagram of the tournament structure before creating it.
Full documentation on GitHub β
Found a bug, weird behavior, or have a suggestion? Open an issue on GitHub.
Please log in to create or modify tournaments
Enter your email address and we'll send you a password reset link.
Choose a new password for your account.