Documentation
Help
Learn how to set up and run competitions on Skorre
Getting Started
From zero to running competition in four steps.
Create an organisation
Organisations own your competitions and formats. Go to Organisations, create one, and set it as active.
Build a scoring format
Formats define rounds, score entry fields, and calculation logic. Browse community formats or build your own.
Create your competition
Set dates, assign your format, and add competitors — manually or via open registration with a QR code.
Share and score
Send a score entry link to your judges. Results update in real time on the live scoreboard.
Competitions
URL Slug
The slug appears in your competition URL and all shared links. It can't be changed after creation — choose carefully.
Competitor Categories
Categories let you segment competitors — Open, Youth, Masters, etc. Competitors select their category when registering. Results and scoreboards can be filtered by category.
Registration
Open registration lets competitors self-register via a public link. You can set a deadline by date or by days before the start. Disable registration to manage the competitor list manually.
Assigning a Format
A competition needs a published format to collect scores and calculate results. You can swap formats before any scores are entered.
Scoring Formats
A format is the blueprint for your competition — it defines what rounds exist, what data to collect, and how to calculate the final rankings.
Rounds
Rounds are the stages of your competition (Qualification, Semi-Final, Final). Each round has independent score entry fields, calculation logic, and display columns.
Collections
Collections are reference tables — for example, a list of boulder problems with assigned point values. Scoring expressions can look up values from collections.
Score Entry
Define the fields judges or competitors fill in for each round. Fields can be numbers, booleans, selects, or times.
Scoring Logic
Write expressions that take raw entries and produce calculated results — a total score, a rank, a tiebreaker value. See the Expressions section for the full language reference.
Publishing
Publishing creates an immutable snapshot of your format. Competitions always use a specific published version. Edit freely in draft — publish when ready.
Format Options
Options are values you configure per competition — like a number-of-tops threshold or a point multiplier. Defined in the format, set on each competition.
Expressions
Expressions are used in scoring calculations, display formats, and conditional logic. They have access to competition data through built-in variables.
Available Variables
- scores — the competitor's score entries for the current round
- allScores — score entries for all competitors (for relative calculations)
- collections — access collection items by name (e.g. collections.climbs)
- options — format options as configured for this competition
- competitor — name, bib number, and categories of the current competitor
Common Functions
- SUM(array) — sum all values
- COUNT(array) — count items
- FILTER(array, fn) — filter to matching items
- MAP(array, fn) — transform each item
- TOP_N(array, n) — return the top N values
- SORT(array, field, dir) — sort by a field
- LOOKUP(collection, key, value) — look up a value
- IF(cond, a, b) — conditional expression
Example
Sum a competitor's top 5 scores:
SUM(TOP_N(SORT(MAP(scores, s => s.points), 'desc'), 5))Testing Expressions
Use the Expression Debugger in the format builder to test expressions against sample data. It shows intermediate steps and pinpoints errors.
Collecting Scores
Score Entry Links
Score entry links let judges or competitors submit scores without logging in. Create them from the Score Entry tab. You can restrict a link to specific rounds.
Per-Item vs Per-Competitor
Per-item entry shows one form row per collection item (e.g. per boulder problem). Per-competitor entry shows all fields for a single competitor at once.
Station Select Mode
In station mode, the judge selects which item they're judging before entering scores. Useful when judges are stationed at individual problems.
QR Codes
The Share tab generates a QR code for your competition's registration page. Print it and display it at your venue.
Live Scoreboard
A public, real-time results page — no login required. Share the URL with spectators or put it on a screen at your venue.
Enabling
Enable the live scoreboard in Competition Settings. You can set a custom URL slug for a clean shareable link.
Accessing
The scoreboard is available at /live/[slug]. Share this link or display it on a screen.
Real-Time Updates
Results update automatically via a live connection — no manual refresh needed. Changes appear within seconds of scores being saved.
Auto-Cycling Categories
When a competition has multiple categories, the scoreboard can automatically cycle between them. Configure the interval in scoreboard settings.
Teams
Group competitors into teams and calculate team rankings alongside individual results.
Creating Teams
Create teams from the Teams tab, then assign competitors to each team. A competitor can only belong to one team.
Scoring Methods
- Sum
- Adds all team members' individual scores together.
- Average
- Calculates the mean of all team members' scores.
- Top N
- Sums the highest N individual scores within the team. Configure N in the scoring settings.
- Pooled Top N
- Each member's best N ÷ team size item scores count toward the team total, rounded down (a team of 3 with N = 12 counts each member's best 4). Larger teams count fewer scores per member, and a team with more than N members counts nothing, so set N to at least your largest team size. Requires specifying the calculation that produces per-item scores.