Headcount Buddy

An SMS helper for amateur sports teams.

View project on GitHub

Finding a Time That Works

You don’t have to pick a day and hope for the best. Headcount Buddy reads everyone’s availability and tells you when your group can actually play — no polls to open, no spreadsheets, no chasing.


How availability works

Each person has their own availability calendar. Whatever you tell the assistant — “I’m free Tuesday and Thursday evenings,” “I’m out the weekend of Thanksgiving,” “don’t count on me until October” — gets saved to your calendar and counts everywhere you play. If you’re on two teams, you only have to say it once.

Availability is stored for as long as it’s relevant. There’s nothing to open or close.


Telling the assistant when you’re free (players)

You can say it any time, in plain language:

You: I’m free Tuesday and Thursday evenings this week Assistant: Got it — I have you free Tue and Thu evenings. Anything else?

You: Actually, scratch Tuesday Assistant: Done — just Thursday evening now.

You: I’m out the weekend of Thanksgiving Assistant: Noted — I have you out Nov 28–30.

You can also check what the assistant has on file for you:

You: What do you have me down for? Assistant: For the next two weeks: free Thu evening, out Nov 28–30. Anything to add or change?

Your availability page (linked in check-in messages) works the same way — tapping a cell there is the same as texting it.


The weekly check-in

Most Saturday evenings you’ll get a short message asking about next week:

Assistant: Which days work for you next week? I have you free Tue and Thu evenings from last time — still right?

One reply covers all your teams. If you’ve told the assistant your usual pattern (“I play Tue/Thu evenings”), it’ll offer a quick confirm:

Assistant: Same as usual — Tue/Thu evenings? Just say yes, or tell me what’s different.

You: Yes but not Thursday Assistant: Got it — just Tuesday evening this week.

The check-in never nudges. If you don’t reply, you’re simply marked unknown for the week. You can always text your availability on your own, any time.

To turn off the automated check-in:

You: Stop the weekly check-in Assistant: Done — I won’t send the Saturday requests anymore. If an organizer asks me to check with you directly, I’ll still reach out and let you know they asked.

To pause everything temporarily:

You: Don’t ask me until October Assistant: Got it — I’ll leave you alone until October 1st and have you marked unavailable until then.


Saving your usual pattern

If your schedule is pretty consistent week to week, you can save it so the assistant knows your typical times:

You: I usually play Tuesday and Thursday evenings, never Mondays Assistant: Saved — I’ll use that as your usual pattern and offer to stamp it each week.

Your pattern is a starting point for check-ins, not a commitment. Nothing goes on your calendar until you confirm it each week.


Finding a time (organizers)

Ask the assistant when your group can play, and it does the math:

You: When can we play this week? Assistant: Looking at this week — Saturday morning works for 5 of 6 (Ana, Steve, Ravi, Jo, Pat). Marcus hasn’t given times yet. Tuesday evening works for 4.

The assistant checks everyone’s stated availability, applies your team’s headcount rules, and tells you who can make each slot — including who’s committed elsewhere and who hasn’t said yet.

A timeframe is required. If you don’t mention one, the assistant will ask:

You: Find us a time Assistant: Sure — which stretch are you looking at? This week, the weekend, next two weeks?

You can also ask about a specific day:

You: Who can play Saturday morning? Assistant: Saturday morning: Ana, Steve, Ravi, Jo, Pat (5). Marcus hasn’t given any times yet. Kim has a conflict — she’s already committed to the Bad Bounce match that morning.


Asking people who haven’t said

If some players haven’t given availability and you want to reach out:

You: Can you ask Marcus and Kim what times they’re free this week? Assistant: On it — asking them now for this week. Kim was already asked about this week recently, so I’ll hold off on her.

The assistant keeps track of who’s been asked and won’t double-up. When it reaches out on your behalf, it says so:

Assistant to Marcus: Hey — your organizer asked me to check on availability for this week. Which days work for you?

When you ask the assistant to check on the team’s availability, it also asks for your own times — your availability counts toward the headcount too.


Locking in a time

When you see a slot you like, just say so:

You: Saturday morning works — let’s do it Assistant: Before I lock it in, where are you playing?

You: Waverly Park, Court 3 Assistant: Done — scrimmage Saturday 9am at Waverly Park, Court 3. Ana, Steve, Ravi, Jo, and Pat were free at that time, so they’ll get an RSVP ask. Marcus is still unknown — I’ll ask him too.

Players who already said they’re free get the RSVP ask framed as a simple confirm:

Assistant to Ana: Saturday 9am scrimmage at Waverly Park is on — you said Saturday morning works. Should I mark you in?

No one is automatically counted as attending. Their reply is what commits them.

If someone has a saved conflict — they told the assistant they’re away that weekend, for example — they’re marked out automatically and notified:

Assistant to Kim: Saturday’s scrimmage was scheduled at 9am. You’d said you’re away this weekend, so I marked you out. One word changes it if that’s shifted.

The organizer sees this as “out per their times,” never as a decline.


Your weekly availability report (organizers)

On Monday and Wednesday mornings you’ll get a short digest for the coming week:

Assistant: This week for the Riverside Crew — Saturday morning: 5 ready (Ana, Steve, Ravi, Jo, Pat). Tuesday evening: 4. Marcus and Kim haven’t given times yet.

This is computed live from your roster’s calendars each time it goes out. If the roster hasn’t said much and there’s nothing useful to report, you won’t get a message.


Matches against another team

Finding a time for a match follows a separate flow depending on whether the other team is also on Headcount Buddy.

If they’re not on Headcount Buddy: the assistant collects your team’s availability, figures out when you can field a full side, and gives you a summary to relay to the other captain yourself. You tell the assistant what time they agreed to, and it schedules the match.

If they are on Headcount Buddy: the assistant handles both sides. It invites the other captain, each team’s players give availability independently, and the assistant finds times that work for both rosters. Either captain can propose a time from the mutual options; the other confirms it, and the match goes on both teams’ schedules.


A few things worth knowing

Silence stays unknown. If someone hasn’t said anything, the assistant never treats that as free or as unavailable — they’re simply unknown. It won’t invent an answer.

No one is pre-marked as attending. Being free at a time doesn’t make you confirmed. The RSVP ask is always a question.

Availability is cumulative. “Tuesday works” then “Thursday too” adds Thursday — it doesn’t replace Tuesday. “Scratch Tuesday” removes it. The assistant reads your current set back to you so you always know where things stand.

Your availability counts across teams. One calendar, every group you play with.


Questions or want to get your group set up? Email us at help@headcountbuddy.com.