CurlTi.me

CurlTi.me/Learn/Running a club

Running a club: officers, roster, invites and announcements

The roles are deliberately shallow — one president, any number of vice-presidents, and almost the same powers. Here is what each can do, and the handful of rules that exist so a club cannot be taken from the people who run it.

Last updated 2026-08-16

The two roles#

There are exactly two, and they are almost the same job. That is on purpose: most clubs are run by two or three people who all do everything, and a permissions system with six tiers is a permissions system nobody configures correctly.

Can they…PresidentVice-president
Edit the club page — name, description, location, contactYesYes
Add, edit and remove roster membersYesYes
Post, edit and delete announcementsYesYes
Upload and remove imagesYesYes
Create and revoke invite codesYesYes
Publish eventsYesYes
Appoint or remove vice-presidentsYesNo
Mint and revoke API keysYesNo
Manage webhooksYesNo
Hand over the presidencyYesNo

Officers must be signed-in accounts — an officer is somebody who can be reached, not a name on a list.

The rule that protects the club

The president row cannot be removed. The only way out of the chair is to hand it over, which happens in a single step: the new president takes the chair and you become a vice-president. There is no route by which a club ends up with no president, and no route by which anybody other than the president decides who the president is.

The roster#

The roster belongs to the club rather than to the players on it. A row can be:

Both kinds live on the same roster and a club can be entirely one or the other. Starting with typed names and letting people link themselves over time is the normal path.

Names on the roster are members-only. The public page shows a count. A player can belong to several clubs and nominates one as primary, which decides whose news shows on their home screen.

Invite links and the poster#

An officer mints a code from the management screen; the link is /club/your-club/join?c=CODE. Following it while signed in joins the roster with the account attached. Codes can be revoked whenever you like, and a revoked code stops working immediately.

The QR poster at /club/your-club/poster is a print-ready page with an invite embedded in the code. It is officers-only — it contains a live invite, so it is not something to leave lying around a public URL.

A link that arrives without its code gets a polite explanation rather than an error, because links get truncated when people paste them.

Announcements#

The club's public voice. Anything posted appears on the club page and in the weekly digest, and announcements are the thing members are most likely to actually read.

Practical advice, learned the way everybody learns it: post fewer, longer announcements rather than more, shorter ones, and put the thing somebody has to do in the first sentence.

Images#

Three kinds, all processed on upload with the originals discarded:

The ring images are the one purely decorative feature of a club page and they do more for how a club looks than anything else on this list.

Events and the calendar feed#

Events publish to the club page and to a standard calendar feed at /api/clubs/your-club/events.ics. A member subscribes to that URL once in their own calendar app and every event you publish from then on appears in it automatically.

This is worth setting up properly, because it is the only club feature that keeps working when nobody is reading the page. Put the draws in, put the bonspiels in, put the social nights in.

The daily board and standings#

Every day there is one challenge, identical for everybody in the world. Linked members who play it appear on the club's board with their score, and the club keeps weekly standings and streaks.

It costs a member about ninety seconds a day and it is, in practice, the thing that keeps a club page alive between events. A board with your name on it is read far more often than a page with news on it.

The weekly digest#

A summary email to members with accounts: what was announced, what is coming up, and how the club did. Members can turn it off for themselves. There is a preview available to officers so you can see what is going out before it goes.

If your club has its own software#

The president can mint an API key that reads the club, the roster and the daily standings, and can add members and post announcements. There are also webhooks that push events to your systems as they happen — member.joined, announcement.published and challenge.completed.

A key carries vice-level content power at most and can never touch officers, other keys, invites or the presidency. A leaked key can vandalise things the president can repair; it can never take the club. Full details on the club API.

A short list of things worth doing#

  1. Appoint a second officer on day one. A club with one officer is fragile in a way that is invisible until it matters.
  2. Put the next month of events in, so the calendar feed has something in it when somebody subscribes.
  3. Revoke old invite codes after a recruitment push, rather than leaving one live forever.
  4. Keep the description true. "We play Tuesdays at 7" is worth more than three paragraphs of history.
  5. Hand the presidency over before you leave, not after.