TeamCaddy

When is it.
Where is it.
Who is coming.

Three questions, asked again every week, by twenty families at once. TeamCaddy answers all three in one place — for one team, free, or for a club with four hundred players.

No credit card. No ads, ever. Your roster is a list of children, and we treat it that way.

Saturday morning, as the manager of a U12 side sees it. Real markup, real tokens — not a picture of a product.

What is included

Free for one team
Unlimited roster. Full attendance. Not a trial, not a demo.
RSVP on every plan
Going, maybe, out — and the list of who has not answered yet.
Nothing is an add-on
Scheduling, background checks and a public team page are included.
No ads. Ever.
A youth roster is not an audience, and we will not sell it as one.

Three people need three different answers. They should not need three different products.

You coach

“The pitch flooded. I need eleven families to know before Saturday, and I need to know who is actually coming.”

Move the event once. Everyone attached to it is told through the channel they chose — push, email or a real text message — and their old answer is cleared so the headcount you see is a headcount for the new time.

What a manager gets

You are a parent

“Two children, two teams, one car. I want to know about the clash before Saturday morning, not during it.”

One calendar covers every child on every team, colour-coded per child, with overlaps flagged in advance. Both guardians get the same message at the same time — neither one is the “cc”.

What a family gets

You run the club

“A team is going up a division. I am not rebuilding it from scratch to make that happen.”

Here a team is a stable object. Move it between divisions, roll it into next season, or merge two rosters — roster, history and payment records come with it.

What a club gets

The product is three questions. Everything else is in service of answering them.

When is it

A schedule that survives being changed

Youth sport is a calendar under constant revision. The hard part is never the first entry — it is the fourteenth change.

  • Recurring practices, and an edit that asks the only question worth asking: this one, this and the ones after it, or all of them.
  • Every event stores an instant plus the time zone the organiser meant, so a tournament in another state does not shift when the clocks do.
  • Clashes with a player's other teams are detected on every plan. The multi-sport child is the normal case, not the edge case.
  • One calendar subscription per family, covering every child and every team — not one feed per kid to add by hand.

Where is it

Locations that behave like places

A venue has pitches, courts and diamonds under it, and an arrival time is a different fact from a start time.

  • Venues contain sub-venues, so “Meadow Park, Pitch 3” is one place with a map link, not a line of free text somebody retypes each week.
  • A location a coach creates is visible on the club calendar the moment it is used. There is no ownership blind spot.
  • Arrive-by time, kit colour and a field note live on the event, so the answer to “what do we bring” is in the same place as “where is it”.
  • Change the venue and the notification says what changed — not a generic “an event was updated”.

Who is coming

Attendance is not a premium feature

A coach who cannot see the headcount is guessing at substitutions. This is the centre of the product, so it is in the free plan.

  • Going, maybe and out, each with a note, on every plan including the free one.
  • The list that actually matters is “has not answered”. It is one tap to nudge exactly those families and nobody else.
  • An optional cutoff locks the count, so the number you plan around stops moving at 6pm on Friday.
  • Every state carries a glyph as well as a colour, because roughly one man in twelve cannot separate the green from the red.

A family is not a row in a roster. It is a household.

Most youth-sport software models a child, then bolts a parent onto it. We modelled the household first, because that is who pays, who drives, and who needs to be told.

  • Siblings on different teams appear on one invoice, paid with one card, incurring one transaction fee.
  • Two guardians are equals by default. Both are notified, both can answer an RSVP, both can pay, and neither is silently the secondary contact.
  • Financial aid is an application inside the product — need statement, documents, an approval state — rather than a private email to the treasurer.
  • A failed instalment is retried on a schedule and the notice reaches every guardian, not one address on a BCC line.

Two children, two teams, one household — as a parent sees it.

Promotion, mid-season. An ordinary admin action, not a rebuild.

Structure that bends. Because a season always changes shape.

Divisions get added in October. Teams get promoted. Two thin age groups merge into one. A club platform that cannot express those things forces its administrators to destroy and rebuild what they already have.

  • Move a team between divisions, roll it into a new season, or merge two rosters — history preserved.
  • Write the age rule once — “U12 is born on or after 1 September 2014” — and it classifies every player, every season, and flags the ones in the wrong group.
  • Tryouts, evaluator scorecards and roster offers are in the product. So is the waitlist that fills the place when a family declines.
  • Certifications and background checks sit on a coach's profile with expiry dates, and a lapsed one blocks a roster assignment.

Everything for clubs and leagues

A roster is a list of children. The defaults reflect that.

Every visibility decision in the product starts closed and is opened deliberately, by someone with the authority to open it.

Public pages start private

A public team page shows the schedule and the results. The roster and the photo gallery are off until an administrator turns them on — opt in, not opt out.

Medical detail is not roster detail

Medical fields, health check-ins and injury reports name in the schema exactly who may read them. A coach sees “cleared to play”. A coach does not see the reason.

A fan role that sees no contacts

Grandparents and boosters get the schedule and the score with zero access to addresses, phone numbers or medical records.

One permission table

Every role check in the API resolves through a single table. Permissions scattered through route handlers are how a fan ends up able to delete a roster.

Start with one team. Add the club later.

A single team is free, forever, with the whole core loop — schedule, roster, RSVP, chat, public page. Nothing is held back to make you upgrade.

No credit card. No ads, ever.