For club & intramural teams

Who's at practice, who's playing Saturday, and where the waiver went.

A club team doesn't need most of what a chapter needs. It needs one number kept honestly across a season, a way to handle the four people who are out every week, and one place the forms live. That's what this setup is, and it's about ten minutes of work.

7 pagesno dues, no GPA, no service hours
3 seatsCaptain, Coach, Team manager
1 measureattendance, computed per player
Seasonsthe calendar resets in August, not January
What recurs

A week in the season, and what carries it

Four things recur on a club team, and three of them are really the same thing: keeping an honest picture of who is actually showing up.

Every practice

The roll

Mark it on the day, on the practice itself. Percentages compute from the records; you never type a number, and nobody's total drifts from what happened.

Mid-week

The four texts asking who's out Saturday

A player files an excuse with a reason. A coach approves or rejects it, and the decision is recorded with who made it and any note they left — so the same conversation doesn't happen twice.

Once a season

The player who's abroad, injured or co-oping

A season-long exemption drops them out of the percentage math entirely rather than sinking their number to zero and dragging the team average with it.

Game week

Waivers, travel forms, the playbook

The docs library holds the links, foldered and pinned, so "where's the form" has one answer instead of four people searching a group chat.

If you charge league fees

Somebody has to track who paid

Treasury is off by default and one toggle away in Settings. Turn it on and every player gets a balance; leave it off and no dues column ever appears.

The optimal setup

What it builds you, before your first practice

The template is deliberately the smallest of the six. A team that never charges dues should never see a dues KPI, and a page you don't need is a page that makes the sidebar harder to read.

Seasons, not semesters

A fall season runs from August into the end of December and doesn't care where finals fall. Picking Seasons in the interview renames every "semester" in the interface and sets the window to match.

Exemptions exist because injuries do

Excuses handle a week; exemptions handle a term. Without the second one, every long-term absence quietly corrupts the only number the team actually tracks.

The coach isn't an admin

The Coach seat carries roster, attendance and schedule permissions and stops there. That's usually the right shape for someone who isn't a student and won't be here in three years.

Club SoccerSports / club teamchaptos.app/club-soccer

Pages

DashboardTimelineRosterAttendanceTasksAnnouncementsDocsMeetingsTreasuryServiceParties

Meetings is off because a team practises rather than holds chapter. If yours runs formal officer meetings, turn it back on — nothing else changes.

Words your org uses

MemberPlayer
MeetingsPractice
EventPractice
TermSeason

Seats

Captaineverythingrank 100
Coachroster, attendance + schedulerank 60
Team managercomms, tasks + docsrank 50

The coach sits at rank 60 and the manager at 50, so a coach can hand out the manager's seat and never the reverse.

Tracked per member

AttendanceGPADues owedService hours

One measure, tracked properly, beats four that are half-filled. The three that are off don't appear as empty columns — they don't appear at all.

Timeline categories

GamePracticeTournament

First season

Fall Season · Aug 15 – Dec 31

Build it

Every line is editable on this sheet before anything is built — and again in Settings next term, when the org has changed its mind.

Your first week

Do these five things, in this order.

Each one is cheap now and expensive later — that's the whole reason they're in this order.

  1. Build it signed out, in one sitting

    At /create, name Practices and Games as what happens in a normal month. Anything you don't name stays off — that's how the page list ends up this short.

  2. Open the season

    Confirm the window before anything else. Attendance percentages are per-season, so the term record has to exist before the first roll.

  3. Paste last year's roster, then invite

    Seed the names and let players claim their own row. Revoke the link after tryouts close — a live invite link lets anyone holding it join.

  4. Put the waiver and the playbook in Docs on day one

    Before week one, not after the first away game. Pin the two everyone asks for; they float to the top of the library ahead of everything else.

  5. Take the roll at the very first practice

    It's the one habit the rest of this depends on. A season with a gap in week one has percentages nobody trusts by week six.

Just ask

Three questions an org like yours actually types.

The assistant reads your real records and cites the rows it used. It drafts changes; a person with the right seat is what makes one happen.

Ask Chapt ⌘K

who's under 70% attendance this season?

Reads the roll records, with exempt players correctly left out of the math.

Ask Chapt ⌘K

who has an approved excuse for Saturday?

The decision, who made it, and the reason the player gave.

Ask Chapt ⌘K

how many practices have we had since the tournament?

Counts events on the timeline rather than guessing from the calendar.

Every draft is checked against your own seat before you see it. Without the permission the card is blocked rather than routed onward — and it names who does hold that authority.

Before you commit

What it won't do for you.

The section worth reading twice. Everything below is a real limit today, not a roadmap item dressed up as one — you should find this out here rather than in week three.

No schedule import, no calendar feed

Games and practices are entered here. Nothing syncs from a league site, and there is no subscribable calendar to point Apple or Google Calendar at.

No check-in

Attendance is a person marking a roll on the day. There's no QR code, no location check, and no player self-check-in.

No texts, no email

Announcements are a page inside the app. The product has no way to send a message to anyone — that stays in your group chat.

Treasury is a ledger, not a payment link

Turn it on for league fees and you get balances and a record of what was paid — collected somewhere else, by you.

Not sure this fits your org?

Describe what you run in a normal month and we'll tell you plainly whether this is the right tool — including when it isn't. One person reads these, and they'd rather say no early.