00Tournaments
Tell the assistant what you want in plain language. It sets the constraints and nothing else — a deterministic engine places every match, a validator checks the plan, and the app reports the counts. You review it before it saves.
Pickleball, tennis and squash. Five formats. First tournament free.
01The scheduling assistant
Because it never does the maths. The language model's only job is to turn a sentence into constraints. Everything after that is deterministic and checked.
“Put the seniors in the mornings, give everyone 30 minutes of rest between matches, and keep the finals on the show court.”
01
You describe it
A sentence, not a settings screen. Type what you would have told a volunteer with a whiteboard.
02
The model sets constraints
It translates your sentence into rules. It cannot place a match, and it cannot report an outcome.
03
The engine places
A pure function takes the brackets, your play windows, division preferences and court designations, and produces the plan.
04
The validator checks
The plan is verified, and the app — not the model — reports the counts. Then you save it, or you don’t.
If the assistant could not express something you asked for, it has to say so. Naming the gap is required; quietly dropping it is not an option the design allows.
02When the day moves
A schedule that falls apart the first time a match runs long is the thing directors actually dread. Three behaviours stop it.
Recurring day-of-week windows, specific-date overrides, and closures. An evening-plus-weekend club tournament over two weeks is something you describe, not something you fight.
Honour a division's time-of-day preference, compress it to fit, or force it to run exclusively and never alongside another. Then bulk-reschedule, and every affected registrant gets old time, new time and a fresh calendar file.
03Scoring
The people holding a clipboard on court six are volunteers. Two of these three paths never ask them to make an account.
01
Your directors and score-keepers enter results from the match page, gated on the record-results permission.
02
A match-scoped token is the whole authorisation. Whoever holds the link can score that one match and nothing else. Revocable, expiring, no sign-in.
03
Every printed scoring sheet carries a QR that resolves by who scans it: a director lands on score entry, a player lands on their own match view.
Pickleball, tennis and squash each have their own scoring engine — the same ones inside the CourtSauce apps. Squash runs PAR-11 and PAR-15; tennis has its final-set modes; squash conduct events travel from the match all the way into a standings tiebreaker.
First-class outcomes, not a note in a comment field. Corrections are recorded with an audit trail, and the correction email's subject line says it supersedes the one before it.
04Verification & disputes
Send a recorded score to its participants for confirmation and every named player has to confirm it. If someone disagrees, they raise it from their own match page.
05Partner finding
A solo entrant in a doubles division can opt in to being findable. What that exposes is deliberately less than you would expect.
Not signed in
A number per division. No names, no attributes, nothing to scrape.
Signed in
Plus only the attributes that division actually uses — rating always; gender if it is gendered or mixed; age if it is age-bracketed. Contact details never.
“Request to partner” opens a message thread. It is an ask, not an automatic pairing — a formal pair is a separate mutual step. Alongside it: subject-access data export, a retention policy, and report-and-block on every thread.
06Delegation
Seven permissions, granted two ways: to a member of your organisation, or to staff scoped to a single event. Same list, same enforcement, invited by email.
Co-director, score-keeper, treasurer. Start from one and adjust.
Payment routes are owner and admin only. Inviting members, managing the organisation and deleting a competition are owner-only.
The organisation audit log records the delegate's own identity on their actions, not yours.
07Players & spectators
Players get their own view of the event — my registration, my matches with the court and the time, calendar buttons for Apple and Google — reachable from an email link whether or not they ever made an account. Everything below is open too: one address per event, no sign-in behind any of it.
/e/…The event page: divisions with live capacity, fees, find-a-partner, schedule, venue with a map, sponsors, announcements.
/liveCourts as cards with running scores, a live match count and an up-next rail, updating without a refresh.
/resultsResults and standings per division, plus a CSV export.
/printA print-optimised schedule with a QR back to the event page.
displayA wall display for the venue: your active courts in a grid, live matches mapped onto them, sponsors on the bottom rail.
og.pngA generated link preview, rendered server-side as a real raster so a shared event unfurls properly in a group chat.
And when it's over: results, a placement in their own history, and a full-screen page for whoever won it.
Set it up, run the readiness checklist, and publish when it says you're ready.
Or browse competitions near you.