CF
Carolina Fireballs 12U

Team Platform User Guide

One guide for the public site, team portal, scorebook, and operations.

This guide explains what the platform does, how each role uses it, and what a generated scorecard looks like after a scored game. It is written for admins, coaches, parents, players, prospects, and the technical admin who keeps the app running.

System Overview

Two public faces, one operating platform.

The Carolina Fireballs ecosystem has a public marketing site at carolinafireballs.org and a private team portal at portal.carolinafireballs.org. The portal manages the real work: roster, schedule, communication, payments, stats, playbook, tryouts, sponsors, scorekeeping, and admin operations.

Public siteGuest first

Program story, sponsor resources, tryout interest, and portal links.

Private portalRole based

Admin, coach, parent, player, and public guest views.

Game dayLive tools

Lineups, plans, scorebook, scorecast, stats, and reports.

OperationsAudit ready

Uploads, reminders, assignments, logs, notification jobs, and backups.

1. Public visitorReads the static site, scans resources, or registers interest.
2. Sign inApproved members use Google SSO or the bootstrap admin path.
3. Role viewThe portal shows only the workflows each role can use.
4. Team workSchedules, messages, stats, scorebooks, files, and payments update the database.
5. Share outReports, scorecasts, runbooks, and social images become secure or public links.
Feature Inventory

Everything the platform currently offers.

The platform now covers the team-management jobs usually split across public web pages, TeamSnap-like operations, scorekeeping apps, shared documents, and manual spreadsheets.

Static Public Website

  • Professional Carolina Fireballs public homepage.
  • Program values, team positioning, and sponsor calls to action.
  • Hosted separately from the portal through Cloudflare Pages.
  • Links visitors to the portal at portal.carolinafireballs.org.
  • Stores final sponsor packets, flyers, QR resources, and shirt mockups.

Authentication And Roles

  • Google SSO for approved team accounts.
  • Root admin bootstrap path for the first approving account.
  • Signed session cookies so browser refreshes keep users logged in.
  • Registration requests, approvals, rejections, and role assignment.
  • Roles: admin, coach, parent, player, prospect, and guest.

Dashboard And Team Switching

  • Role-aware dashboard after login.
  • Upcoming schedule, roster summary, payments, availability, and operations cues.
  • Multi-team architecture and team switcher.
  • Guest dashboard avoids private internal metrics.

Schedule And Availability

  • Games, tournaments, practices, meetings, fundraisers, and community events.
  • Arrival time, uniform, location, and notes.
  • Parent/player RSVP: yes, no, maybe, unknown.
  • Coach/admin availability summaries and response detail.
  • iCalendar feed for Apple Calendar, Google Calendar, and Outlook.

Roster Management

  • Players with jersey, positions, bats, throws, and guardians.
  • Adult roster with coach, team manager, guardian, and scorekeeper roles.
  • Mobile provider fields for email-to-text SMS gateway delivery.
  • Role-scoped roster visibility.
  • Coach notes and player stat detail when a roster player is selected.
  • Delete support for players and adults.

Messaging And Alerts

  • Direct messages and all-team messages.
  • Parent-to-all messages require admin approval.
  • Replies, read tracking, deleted state, and message moderation.
  • Banner messages at the top of the portal.
  • Email delivery jobs and optional SMS via public carrier gateways.

Manual Payments

  • Payment schedule items with due dates, amounts, notes, and instructions.
  • Assign payments to specific parent accounts.
  • Parents can mark their own item paid.
  • Admins can mark due, partial, paid, or waived.
  • Reminder emails and notification job tracking.
  • No card or bank processing.

Assignments

  • Snack, volunteer, scorebook, field, travel, and other jobs.
  • Needed count, due date, event linkage, and status.
  • Families can claim or unclaim jobs.
  • Admins/coaches can create, update, cancel, and delete assignments.

Lineups And Game Plans

  • Batting order, defensive innings, pitcher plan, catcher plan, and notes.
  • Shareable URLs for lineups and game plans.
  • Delete support for lineups and game plans.
  • Live lineup board, fairness analytics, and smart lineup autofill for coaches.
  • Tablet-friendly view for dugout use.

Stats And Exports

  • Season, scheduled game, player game stat, and at-bat tracking.
  • Stats entry is tied to scheduled games, tournaments, or Unknown outside-schedule.
  • Admins/coaches add, edit, delete, filter, and export CSV.
  • Players see their own stats and generalized team stats.
  • Parents see team-level summaries.

Live Scorekeeper

  • Create a scorebook from a scheduled game.
  • Use platform roster and enter the opponent roster.
  • Score on tablet, computer, or phone.
  • Offline JSON export/import with local draft fallback.
  • Live public scorecast link.
  • Pitch sequence, pitch location, spray chart, base state, line score, and play log.
  • Import scorebook events into platform stats.

Playbook And Practice Runbooks

  • Full imported Carolina Fireballs playbook as secure web pages.
  • Admins/coaches create custom practice plans from selected playbook pages.
  • Secure runbook links for coaches, players, or team audience.
  • Send practice runbooks through in-app and email notification jobs.

Tryout Pipeline

  • Public tryout registration.
  • Candidate profiles, check-in, positions, bats, throws, measurable metrics, and notes.
  • Printable and downloadable evaluation sheets.
  • Multi-coach evaluations, merge, ranking, consensus, and split-decision detection.
  • Move candidates to roster or pass with reason.

Sponsors And Fundraising

  • Sponsor prospect, pledged, and received stages.
  • Contact details, pledge amount, level, benefits, notes, and follow-up date.
  • Logo and document uploads.
  • Public resources and downloadable sponsor packets on the static site.

Social Media And Reports

  • Admin social media studio for Fireballs branded images.
  • Templates for gameday, final score, athlete spotlight, and sponsor spotlight.
  • Image archive, download links, and uploaded/generated asset storage.
  • Post-game report links with score, highlights, stats, and social assets.

Documents, Logs, And Audit Trail

  • Forms, waivers, player docs, and team resources.
  • Real file uploads backed by the API upload root.
  • Operations tabs for documents, payments, assignments, lineups, and admin logs.
  • Audit trail, system logs, notification jobs, pagination, and Cloud Run log commands.
Role Guides

What each role can do.

Most confusion in a team app comes from permissions. This matrix shows the intended day-to-day behavior by role.

Role Primary Jobs Key Screens Limits
Guest / Prospect Learn about the program, view public schedule/roster summary, register interest, access public reports or scorecasts. Public site, Guest Site, public tryout registration, public game reports, scorecast links. No private roster details, messages, payments, playbook, documents, or coach notes.
Parent Submit availability, read messages, reply, see payment ledger, mark paid, claim assignments, view public roster details. Dashboard, Schedule, Roster, Messages, Payments, Assignments. Cannot manage roster, stats, scorebooks, sponsors, social studio, or approvals.
Player View schedule, playbook, practice runbooks, own stats, and team information. Dashboard, Schedule, Roster, Stats, Playbook, shared runbooks. Cannot view private coach notes unless exposed through approved workflows.
Coach Manage schedule, roster details, stats, lineups, scorebooks, playbook runbooks, tryouts, assignments, and player notes. Dashboard, Schedule, Roster, Stats, Scorekeeper, Tryouts, Playbook, Operations. Does not approve registrations or manage sponsor/social/admin-only settings unless also an admin.
Admin Full operations, approvals, roles, settings, payments, sponsors, documents, social media, reports, audit/log review. Admin, Operations, Payments, Sponsors, Documents, Logs, Settings. Should use root admin only for bootstrap or emergency approval work.
Static Website

How to use carolinafireballs.org.

The static site is the public front door. It should stay clean, sponsor-friendly, and easy for a new family to understand without needing a login.

Public Visitor Steps

  1. Open carolinafireballs.org.
  2. Read the program overview, values, and team positioning.
  3. Use resource links for sponsor proposals, flyers, or interest forms.
  4. Click the portal link when you need team login or public portal content.
  5. Use public scorecast or post-game report links when shared by the team.

Admin Content Checklist

  1. Keep contact email and calls to action current.
  2. Verify sponsor packets and flyers download correctly.
  3. Check portal buttons point to portal.carolinafireballs.org.
  4. Update public assets in the static site folder and deploy through Cloudflare Pages.
  5. Confirm mobile layout after every public-site content change.
Portal Basics

Login, dashboard, and everyday navigation.

The portal is designed for repeated use from a phone at the field, a tablet in the dugout, or a laptop at home.

First Login

  1. Open portal.carolinafireballs.org.
  2. Click Continue with Google.
  3. If your Google account is not approved yet, submit the registration request.
  4. An admin reviews the request and assigns the right role.
  5. After approval, sign in again. Refreshing the browser should keep the session active.

Navigation Pattern

  1. Use the menu in the header to move between screens.
  2. Use the team switcher if the organization has more than one team.
  3. Use the Website link to return to the public site.
  4. Use Sign out when using a shared device.
Dashboard
Today, next event, alerts
Schedule
Events and availability
Roster
Players, adults, notes
Game Day
Lineups, stats, scorebook
Daily Workflows

Step-by-step guide by task.

These are the common actions a team will do every week.

Schedule A Practice Or Game

AdminCoach
  1. Open Schedule.
  2. Choose event type: practice, game, tournament, meeting, fundraiser, or community.
  3. Enter title, start time, end time, location, arrival time, uniform, and notes.
  4. Save the event.
  5. Check the availability summary after families respond.

Submit Availability

ParentPlayer
  1. Open Schedule.
  2. Find the event.
  3. Pick yes, no, maybe, or unknown.
  4. Add a note for late arrival, injury, travel, or missing equipment.
  5. Save the response.

Send A Message

AdminCoachParent
  1. Open Messages.
  2. Choose individual or all-team audience.
  3. Enter subject and body.
  4. Choose banner or SMS options when appropriate.
  5. Send. Parent all-team messages wait for admin approval.

Manage Roster

AdminCoach view
  1. Open Roster.
  2. Select a player to view stats and coach notes.
  3. Admins add, edit, or delete players.
  4. Admins edit adult contacts, roles, phone, and SMS provider.
  5. Coaches add private development notes for players.

Track Payments

AdminParent
  1. Admin opens Operations then Payments.
  2. Create a payment item with amount, due date, instructions, and assigned parents.
  3. Send reminders when needed.
  4. Parents open Payments and mark paid after paying outside the system.
  5. Admin verifies and marks the item paid, partial, due, or waived.

Create Assignments

AdminCoachParent claim
  1. Open Operations then Assignments.
  2. Create snack, volunteer, scorebook, field, travel, or other assignment.
  3. Set needed count and optional due date or event.
  4. Families claim open assignments.
  5. Admins/coaches adjust or delete assignments as plans change.
Screen Guides

How to use each section of the platform.

Use this when someone asks, "Where do I go to do that?" Each block names the screen, who normally uses it, the exact path, and the expected workflow.

Public

Static Public Site

The marketing and resource site for families, sponsors, prospects, and community partners.

carolinafireballs.orgPublic resourcesPortal links

Use it to

  • Explain what the Fireballs program is and who it is for.
  • Give sponsors and interested families a clean place to start.
  • Host final downloadable sponsor documents, flyers, QR resources, and visual assets.
  • Send people to the team portal when they need login, tryout intake, or public score/report links.

Admin update steps

  1. Update static-site source files under sites/carolinafireballs.org.
  2. Confirm all links point to live resources or the portal.
  3. Run the site update process from the runbook when publishing.
  4. Open the live public site on phone and desktop to verify layout.
Portal

Home And Login

The portal entry point for Google SSO, registration, and bootstrap admin access.

portal.carolinafireballs.orgContinue with GoogleRegistration request

New parent or coach registration

  1. Open the portal homepage.
  2. Choose Continue with Google.
  3. If the account is not approved, fill out the registration request form.
  4. Enter the real relationship to the team and player name if applicable.
  5. Wait for admin approval, then sign in again.

Registration form fields

FieldWhat to enter
NameAdult or player full name.
EmailThe same Google email the user will sign in with.
Requested roleParent, coach, player, admin, or prospect. Admin should be rare.
RelationshipExamples: "Mia's mother", "assistant coach", "prospective sponsor".
Player namePlayer tied to the adult, if any.
NoteAnything the admin needs to approve correctly.
Portal

Dashboard

The first logged-in view. It should answer what is coming next and what needs attention.

LoginDashboardTeam switcher

What to check first

  1. Look at the next event, arrival time, and location.
  2. Review outstanding availability or payment items.
  3. Use the menu to jump into Schedule, Messages, Payments, Roster, Stats, or Operations.
  4. If you help multiple teams, confirm the active team in the team switcher.

Role differences

  • Parents see family-focused alerts, schedule, and payment/assignment cues.
  • Players see team and player-specific information.
  • Coaches see operations and game-day context.
  • Admins see broader operational signals and approval work.
Team

Schedule And Availability

Create events, collect RSVPs, and provide a calendar feed families can subscribe to.

MenuScheduleCalendar feed

Coach/admin event steps

  1. Open Schedule.
  2. Fill out the event form with the right event type.
  3. Use arrival time and uniform fields for game-day clarity.
  4. Save the event and confirm it appears in the schedule list.
  5. Watch the availability summary as families respond.

Event form fields

FieldWhat to enter
TypePractice, game, tournament, meeting, fundraiser, or community.
TitleShort readable label such as "Practice - defense stations" or "Game vs Apex Velocity".
Starts / EndsActual start/end times. For games, start time is first pitch.
LocationField name and address when possible.
Arrival timeWhen players should arrive, not the event start time.
UniformJersey, pants, socks, belt, bow, or warmup instruction.
NotesParking, field number, equipment, tournament context, or weather plan.

Parent/player availability steps

  1. Open the event in Schedule.
  2. Choose yes, no, maybe, or unknown.
  3. Add a short note if the response needs context.
  4. Save the response.
Team

Roster

Manage players, adult contacts, role labels, SMS contact data, and coach notes.

MenuRosterPlayer detailsAdults

Admin player steps

  1. Open Roster.
  2. Use the player form to add or update a player.
  3. Select a roster row to see stats, at-bats, and notes.
  4. Use delete only when the player should be removed from the active roster.

Player form fields

FieldWhat to enter
First / last namePlayer legal or team-used name.
Jersey numberNumber on the active uniform.
Primary positionsComma-separated list such as P, C, SS, OF.
Bats / throwsRight, left, or switch for bats; right or left for throws.

Adult contact fields

FieldWhat to enter
Name / emailAdult's real name and portal email.
RolesCoach, team manager, guardian, scorekeeper, or a combination.
Mobile phoneDigits only is easiest for SMS gateway delivery.
Mobile providerT-Mobile, Google Fi, Verizon legacy, or AT&T unavailable.
Enable SMSTurn on only after confirming the adult wants text delivery.
Communication

Messages And Banners

Send direct messages, team-wide updates, and portal banners with approval controls.

MenuMessagesInboxPending approval

Send a message

  1. Open Messages.
  2. Select individual or all-team audience.
  3. Pick a recipient for individual messages.
  4. Enter a clear subject and body.
  5. Use banner when the message should stay visible at the top of the portal.
  6. Use SMS only for urgent messages and configured contacts.

Message form fields

FieldWhat to enter
AudienceIndividual or all team.
RecipientRequired for individual messages.
SubjectShort action-oriented title.
BodyMessage content. Include dates, times, and requested action.
BannerUse for urgent portal-wide notices.
Send SMSOptional; depends on adult SMS settings and provider gateway support.

Approval behavior

Admin and coach team-wide messages can go out directly. Parent team-wide messages wait for admin approval so the team channel stays clean and trusted.

Operations

Payments

Manual due tracking for each family. The platform tracks status and reminders, not money movement.

MenuPaymentsOperations: Payments

Admin payment workflow

  1. Open Operations and choose the Payments tab.
  2. Create the payment item and assign it to the correct parent accounts.
  3. Use the reminder action when a due item needs follow-up.
  4. Update family statuses after confirming payment outside the platform.
  5. Delete accidental or obsolete payment items.

Parent payment workflow

  1. Open Payments.
  2. Review due amount, due date, and instructions.
  3. Pay using the team's external process.
  4. Click Mark paid and add a note if helpful.

Payment item fields

FieldWhat to enter
TitleExamples: "June tournament fee", "Fall uniform balance".
Due dateDate families should complete payment.
AmountTotal amount assigned to each selected family.
NoteShort purpose or context.
InstructionsExternal payment method, check recipient, or team treasurer note.
Assigned accountsSpecific parent accounts responsible for the payment.
Operations

Assignments

Volunteer, snack, scorebook, field, travel, and team support jobs.

OperationsAssignments tabClaim / unclaim

Create an assignment

  1. Open Operations then Assignments.
  2. Choose the related event when the job belongs to a specific date.
  3. Enter title, type, description, needed count, due date, and status.
  4. Save the assignment.
  5. Review claims and adjust status as the need changes.

Assignment form fields

FieldWhat to enter
EventOptional schedule event linked to the job.
TitleShort label such as "Snack cooler" or "Scorekeeper".
TypeSnack, volunteer, scorebook, field, travel, or other.
DescriptionWhat the family needs to do or bring.
Needed countHow many families can claim it.
Due atOptional date/time if it is not tied to an event.
StatusOpen, filled, or cancelled.
Game

Stats

Game/player stat lines, at-bats, team summaries, filters, and exports.

MenuStatsExport CSV

Manual stat entry

  1. Open Stats.
  2. Select season, scheduled game, and player.
  3. Enter batting, baserunning, pitching, and fielding values.
  4. Save the stat line.
  5. Use at-bat entry for detailed plate appearance history.

Important rule

Stats can only be entered against scheduled games, tournament events, or the Unknown outside-schedule game. This keeps stats tied to real team events while still allowing one-off historical catch-up.

Stat line fields

GroupFields
Game identitySeason, game, player.
BattingPA, AB, H, 1B, 2B, 3B, HR, BB, K, HBP, ROE, SAC.
ProductionRuns, RBI, stolen bases.
PitchingInnings pitched outs, pitches, strikes, earned runs.
FieldingErrors, putouts, assists.
NotesContext such as "imported from scorebook" or scoring decision notes.
Game Day

Scorekeeper

Live scorebook for a scheduled game with offline mode, scorecast links, and stat import.

MenuScorekeeperCreate scorebookBroadcast link

Start a scorebook

  1. Confirm the game exists in Schedule.
  2. Open Scorekeeper.
  3. Select the scheduled game.
  4. Click Create scorebook.
  5. Review the Fireballs roster entered in the platform.
  6. Enter the opponent roster if available.

Opponent roster format

Enter one player per line as order, jersey, name, position.

1,7,Avery Smith,P
2,12,Jordan Lee,C
3,24,Morgan Ray,SS

Record a play

  1. Use pitch buttons for balls, called strikes, swinging strikes, fouls, or tap the pitch zone.
  2. Set RBI and outs if the play requires it.
  3. Tap the spray chart for contact location.
  4. Choose the result: 1B, 2B, 3B, HR, BB, HBP, K, groundout, flyout, FC, error, or sacrifice.
  5. Use notes for exact scoring context such as fielder numbers or runner advancement.
  6. Sync when online. Export offline JSON if the device may lose connectivity.

After the game

  1. Review play log and line score.
  2. Finalize or sync the scorebook.
  3. Click Import stats.
  4. Open Stats to verify imported stat lines and at-bats.
  5. Share the public scorecast link or use the game report workflow.
Development

Playbook And Practice Runbooks

Secure playbook library and custom practice runbooks built from selected pages.

MenuPlaybookCreate runbookSend

Build a practice runbook

  1. Open Playbook.
  2. Search or filter pages by topic.
  3. Select pages for the practice plan.
  4. Enter title, date, focus, notes, and audience.
  5. Save the runbook.
  6. Send it when players or coaches should receive a secure link.

Runbook form fields

FieldWhat to enter
TitlePractice name such as "Throwing progression and bunt defense".
Practice dateDate the plan will be used.
FocusMain goals: defense, hitting, baserunning, confidence, etc.
AudienceCoaches, players, or whole team.
Page IDsSelected playbook pages in the order they should appear.
NotesSetup, equipment, groups, timing, or reminders.
Roster Pipeline

Tryouts

Public registration, candidate evaluation, multi-coach ranking, and roster promotion.

Public registrationMenuTryoutsPromote

Public candidate intake

  1. Candidate family opens the public registration form.
  2. Guardian enters player and contact details.
  3. The submission creates a candidate in the tryout pipeline.
  4. Coach or admin reviews and checks the candidate in on tryout day.

Evaluation fields

FieldWhat to enter
Core scoresHitting, fielding, throwing, speed, attitude, coachability, softball IQ on a 1-5 scale.
MeasurablesHome-to-first, overhand velocity, exit velocity, pop time, pitching velocity, strike percentage.
Text notesStrengths, development areas, evaluation notes, and passed reason if applicable.
RecommendationStrong yes, yes, maybe, or pass.

Decision steps

  1. Collect evaluations from each coach.
  2. Review merged ranking and consensus recommendation.
  3. Look for split decisions or outlier evaluations.
  4. Mark offered, rostered, or passed.
  5. Promote to roster when the family accepts.
Admin

Admin, Sponsors, Social, Reports, Settings

Team-level control center for approvals, public-facing assets, sponsorships, reports, and settings.

MenuAdminApprovalsSponsorsReports

Admin account approvals

  1. Open Admin.
  2. Review the pending registration list.
  3. Set the final assigned role.
  4. Approve or reject.
  5. Ask the user to sign in again after approval.

Sponsor form fields

FieldWhat to enter
NameBusiness or sponsor name.
Pledge amountExpected or received amount.
StatusProspect, pledged, or received.
ContactName, email, phone.
LevelInternal sponsor tier or recognition level.
FilesLogo and related documents.
RecognitionWebsite, banner, social spotlight, shirts, or other benefits.

Social image fields

FieldWhat to enter
TemplateGameday, final score, athlete spotlight, or sponsor spotlight.
GameOptional scheduled game to prefill opponent and score.
Title / subtitleMain text shown on the generated graphic.
Opponent / scoreGame context for gameday or final-score templates.
CaptionSuggested social post copy.
PhotoOptional image layered into the template.

Post-game report fields

FieldWhat to enter
GameScheduled game connected to the report.
TitlePublic title such as "Fireballs rally late vs Apex Velocity".
SummaryShort recap paragraph.
HighlightsOne per line: big hits, defensive plays, pitching moments, team notes.
Social assetsSelect generated images to include.
Operations

Payments, assignments, lineups, documents, logs, and audits.

Operations is the team's back office. It is tabbed so the crowded admin tasks stay separated.

Operations Tabs

  • Payments: create/delete payment items, assign families, update status, send reminders.
  • Assignments: create/delete jobs and track claims.
  • Lineups: build, publish, delete, and share game plans.
  • Documents: upload forms, waivers, player docs, resources, and pin important files.
  • Admin Log: review audit events, system logs, and notification jobs with pagination.

Admin Review Habit

  1. Check notification jobs after reminders or runbook sends.
  2. Use system logs when email, upload, or API behavior looks wrong.
  3. Use audit trail to see who changed roster, payments, assignments, settings, or scorebooks.
  4. Use Cloud Run logs for deeper production troubleshooting.
Form Reference

What to fill out in each form.

This section is written for the person sitting with the app open. Use it as the "what goes in this box?" guide.

Registration Request

FieldUse
NameFull name of the person requesting access.
EmailGoogle email used for portal sign-in.
Requested roleParent, player, coach, admin, or prospect.
RelationshipWho they are to the team.
Player nameAssociated player, if any.
NoteContext the admin needs to approve correctly.

Schedule Event

FieldUse
TypeControls how the event is treated across schedule and stats.
TitleShort public-facing label.
Start/endActual time window.
LocationField, facility, or address.
ArrivalWhen players need to be there.
UniformWhat players should wear.
NotesParking, field number, weather, equipment, tournament details.

Message

FieldUse
AudienceIndividual for one recipient; all for team broadcast.
RecipientRequired for individual messages.
SubjectClear action topic.
BodyFull message with dates, times, and expected action.
BannerShows above the portal until read.
SMSUrgent text gateway delivery for configured adults.

Player And Adult Roster

FieldUse
Player namePlayer profile identity.
JerseyUniform number used in lineups and scorebooks.
PositionsPrimary softball positions for lineup planning.
Bats / throwsPlayer handedness.
Adult rolesCoach, team manager, guardian, scorekeeper.
SMS settingsMobile number, provider, and opt-in flag.

Lineup And Game Plan

FieldUse
GameScheduled game for the lineup.
TitleName of the plan.
StatusDraft or published.
Batting orderOne player per line with order, player, position, and notes.
Defensive planInning-by-inning positions.
Pitcher/catcher plansBattery plan, limits, and contingencies.
NotesCoach-only context or situational reminders.

Scorekeeper

Field / ControlUse
Scheduled gameThe game the scorebook belongs to.
Opponent rosterManual roster snapshot for the other team.
RBIRuns batted in on the play.
OutsOuts recorded on the play.
NotesFielder numbers, runner movement, or scoring decisions.
Pitch buttonsBuild pitch sequence before the result.
Spray chartTap where the ball was hit.
Sync / exportSave to platform or preserve offline JSON.

Tryout Candidate

FieldUse
Player/contactCandidate and guardian information.
PositionsPrimary and secondary softball positions.
Bats/throwsHandedness for evaluation context.
Tryout dateWhich session they attended or plan to attend.
Scores1-5 evaluation categories.
MeasurablesTimed/velocity metrics if captured.
RecommendationStrong yes, yes, maybe, or pass.

Sponsor

FieldUse
NameBusiness or sponsor name.
PledgeDollar amount being discussed or received.
StatusProspect, pledged, received.
ContactPerson, email, and phone.
LevelSponsor tier or package name.
Follow-up dateNext action date.
RecognitionBenefits promised to the sponsor.

Document Upload

FieldUse
TitleReadable name shown to users.
CategoryPlayer, form, waiver, or resource.
PlayerOptional player link for player-specific docs.
FileThe uploaded document.
DescriptionOptional context after upload.
TagsSearchable labels.
PinnedUse for documents everyone needs often.

Practice Runbook

FieldUse
TitlePractice plan name.
DatePractice date.
FocusMain training goal.
AudienceCoaches, players, or team.
PagesSelected playbook pages.
NotesStations, timing, equipment, or group assignments.
Scenarios

Real team situations and exactly what to do.

These are the workflows that happen during a normal 12U travel softball season.

Scenario: a new family joins the team

Goal: get the parent approved and tied into team workflows.
  1. Parent signs in with Google and submits registration.
  2. Admin opens Admin and approves the request as Parent.
  3. Admin verifies adult contact exists in Roster and adds mobile/SMS settings if wanted.
  4. Admin assigns any current payment item to that parent.
  5. Parent opens Schedule and submits availability for upcoming events.

Scenario: rain changes practice plans

Goal: update schedule and notify families quickly.
  1. Coach opens Schedule and edits the practice location/time or notes.
  2. Coach opens Messages and sends an all-team message.
  3. Coach checks Banner if the update must remain visible.
  4. Coach enables SMS only if urgent.
  5. Parents update availability if the change affects attendance.

Scenario: tournament weekend setup

Goal: organize logistics before first pitch.
  1. Admin/coach creates tournament games in Schedule.
  2. Families submit availability for each game.
  3. Operations creates snack, tent, scorebook, and field assignments.
  4. Coach creates lineup plans for known games.
  5. Coach builds practice/runbook notes if warmups or plays need review.

Scenario: live game scoring

Goal: keep score, broadcast, and import stats.
  1. Coach opens Scorekeeper and creates scorebook from the scheduled game.
  2. Scorekeeper applies opponent roster.
  3. Scorekeeper records pitches, plays, outs, RBI, and hit locations.
  4. Coach shares the public scorecast link.
  5. After final review, coach imports stats and publishes a post-game report.

Scenario: payment reminder week

Goal: remind only the families who owe.
  1. Admin opens Operations then Payments.
  2. Admin reviews statuses and filters due/partial families.
  3. Admin sends reminders for open items.
  4. Admin checks notification jobs and system logs if delivery is questioned.
  5. Parents mark paid after paying outside the platform.

Scenario: tryout evaluation night

Goal: capture consistent evaluations and make roster decisions.
  1. Families register through public tryout registration.
  2. Admin prints evaluation sheets if offline scoring is needed.
  3. Coaches evaluate candidates independently.
  4. Tryouts module merges coach evaluations and ranks candidates.
  5. Coach/admin promotes accepted players to roster or passes with a reason.

Scenario: sponsor follow-up

Goal: move a business from prospect to recognized sponsor.
  1. Admin adds sponsor prospect with contact and pledge target.
  2. Admin uploads proposal or logo when available.
  3. Admin sets next follow-up date and notes.
  4. When committed, admin promotes status to pledged or received.
  5. Admin generates sponsor spotlight image and updates recognition notes.

Scenario: build a focused practice

Goal: turn the playbook into a sendable plan.
  1. Coach opens Playbook and searches the topic.
  2. Coach selects pages for the practice plan.
  3. Coach fills title, date, focus, audience, and notes.
  4. Coach saves and sends the runbook.
  5. Players open the secure link before practice.
Game Day

Lineup, scorebook, stats, and report workflow.

Game-day tools are coach-first. They should make the dugout easier to run, then turn the game into stat sheets and shareable reports.

Before The Game

  1. Confirm the game exists in Schedule.
  2. Open Operations then Lineups.
  3. Create or use smart autofill for batting order and defensive innings.
  4. Review fairness analytics, pitcher plan, catcher plan, and bench coverage.
  5. Publish and share the game plan link with coaches as needed.

During The Game

  1. Open Scorekeeper.
  2. Create a scorebook for the scheduled game.
  3. Apply opponent roster if known.
  4. Score pitches, plate appearances, base state, outs, RBI, and runs.
  5. Tap the spray chart for hit locations.
  6. Sync when online or export offline JSON if connectivity is poor.
  7. Share the broadcast link with families for live scorecast viewing.

After The Game

  1. Review the scorebook and correct obvious entry mistakes.
  2. Click Import stats to write derived stat lines and at-bats.
  3. Open Stats and confirm player totals.
  4. Generate a final score social image in Admin.
  5. Publish a post-game report with score, highlights, stats, and social image.
Generated Example

Sample scorecard our scorekeeper would produce.

This is a realistic generated output from the scorebook event model: line score, inning-by-inning player cells, play log, spray chart, pitch chart, and stat summary. Use the browser print command to create a PDF.

Sample game: Carolina Fireballs 12U vs Apex Velocity 12U, Saturday, June 13, 2026. Final: Fireballs 8, Velocity 6.
Official Team Scorebook

Carolina Fireballs 12U vs Apex Velocity 12U

Cary, North Carolina - Seven inning sample - scorer: Coach Admin

Final

Fireballs 8 - Velocity 6

Broadcast: portal.carolinafireballs.org/?scorebook=sample

Team
1
2
3
4
5
6
7
R
H
E
Apex Velocity
1
0
3
0
1
1
0
6
8
3
Carolina Fireballs
2
1
0
2
0
3
X
8
10
2
Batter
1
2
3
4
5
6
7
Game Line
1. #7 Harper Lane - SS
1BR, SB
F8
BBR
2B2 RBI
K
1BRBI
3-4, 2B, 3 RBI, 2 R
2. #11 Avery Cole - CF
E6R
1B
K
FC
4-3
3B2 RBI
2-5, 3B, 2 RBI, 1 R
3. #24 Riley Stone - P
2B2 RBI
BB
F7
1B
K
BBR
2-4, 2B, 2 RBI, 1 R
4. #3 Mia Brooks - C
K
5-3
1B
E5R
F9
1BRBI
2-6, RBI, R
5. #15 Kenna Price - 1B
F9
2BR
6-3
BB
K
F8
1-5, 2B, R
6. #22 Savannah Reed - 3B
BB
SAC
K
1BRBI
E4
5-3
1-4, RBI, SAC
7. #9 Taylor Finch - LF
K
1BRBI
F7
K
BB
SB
1-4, RBI, SB
8. #5 Emma Grant - RF
4-3
K
BB
F8
1B
R
1-4, R
9. #18 Lila Carter - 2B
BB
FC
K
E6R
F9
0-4, R

Spray Chart

Dots are hit locations recorded during live scoring.

Pitch Chart

Dots are pitch locations attached to play events.

Latest Play Log

Bot 6Avery Cole triples to right center. Harper Lane and Mia Brooks score.8-6
Bot 6Harper Lane singles on a hard ground ball to short. Emma Grant scores.6-6
Top 6Apex Velocity scores on a single to left. Runner out advancing to third.5-6
Bot 4Harper Lane doubles on a line drive to left. Savannah Reed and Lila Carter score.5-5

Generated Stat Import Summary

  • Fireballs: 10 hits, 8 runs, 8 RBI, 5 walks, 9 strikeouts, 2 stolen bases.
  • Pitching: 92 pitches, 58 strikes, 6 earned runs, 7 strikeouts.
  • Fielding: 2 errors, 1 runner out recorded in play log.
  • Imported rows are tagged from the scorebook so re-importing replaces prior derived rows.
Admin Guide

Approvals, sponsors, social, reports, and settings.

Admin is where the team manager or owner keeps the platform clean and outward-facing.

Approve A New Account

  1. Open Admin.
  2. Review pending registrations.
  3. Change requested role if needed.
  4. Approve or reject the request.
  5. Tell the user to sign in again with Google.

Manage Sponsors

  1. Open Admin then Sponsor Pipeline.
  2. Add prospect details, pledge amount, level, follow-up, and notes.
  3. Upload logo or sponsor documents.
  4. Promote to pledged or received.
  5. Use social studio for sponsor spotlight images.

Create Social Images And Reports

  1. Open Admin then Social Studio.
  2. Choose a template: gameday, final score, athlete spotlight, sponsor spotlight.
  3. Add title, opponent, score, caption, and optional photo.
  4. Generate and download the image.
  5. Create a post-game report using score, highlights, stats, and selected social images.
Technical Admin

Setup, updates, logs, backups, and restore.

Use this section when operating the real Cloud Run app. Detailed click-by-click setup remains in the deployment runbooks; this is the day-to-day reference.

Routine Update

  1. Open Google Cloud Shell.
  2. Go to the repo folder.
  3. Run git pull.
  4. Run npm run update:running-app for portal/API updates.
  5. Run npm run update:site when the static site or domain wiring also needs refresh.
  6. Open the portal, log in, and verify dashboard, schedule, roster, messages, payments, stats, and scorekeeper.

Logs And Troubleshooting

  1. In the portal, open Operations then Admin Log.
  2. Review system logs for email, upload, API, or notification errors.
  3. Review notification jobs for failed reminder or runbook sends.
  4. Use Cloud Run logs for service-level issues.
  5. For CORS or login issues, confirm API origin settings and Google OAuth callback domains.

Backups And Restore

  1. Run npm run backup:db before major migrations or imports.
  2. Store backup files somewhere outside the running container.
  3. Use npm run restore:db -- backups/file.dump only after confirming the target database.
  4. After restore, review the restored environment before pointing users at it.