The React/Capacitor app gained full workflows for team settings, admin invites, roster creation and editing, custom roster fields, schedule creation, practice recurrence, team fees, registration review, team media, drills, game wrap-up, app tracking controls, awards publishing, and in-app help search.
→ Dashboard workflowChangelog
Every significant feature, fix, and improvement to ALL PLAYS — from launch to today.
No results found
Try a different keyword or clear the filter.
May 12-June 23, 2026
Six-Week Feature Catch-Up
Native app parity, notification inbox and push routing, Sports Connect manual provider pulls, schedule sharing, roster contact imports, richer team media, fee reminders and refunds, tracker reliability, and broad security/performance hardening.
Top Highlights
A notification bell with unread badge, inbox sheet, delivery metadata, retry behavior, category preferences, recipient indexes, route-aware push deep links, and native app badge support now covers schedule reminders, game-day status, chat mentions, fees, media, awards, rideshare, officiating, and home packet activity.
→ Communication workflowRegistration setup now stores provider mappings, supports manual Sports Connect provider pulls through the backend, gates unavailable import entry points, and adds form-editor service groundwork plus clearer review queue and waitlist behavior.
→ Registration workflowTeams can share fan feeds, export individual schedule events, preserve team context through calendar and Help links, show tournament/bracket metadata, publish organization draft schedule slots, and surface more schedule actions directly in the app.
→ Schedule workflowMobile App
Mobile users can edit team settings, league and livestream links, team admins, staff permissions, scorekeeper and videographer grants, schedule games, create recurring practices, cancel recurring practice occurrences, add practice attendance, and open calendar export/share actions without falling back to legacy pages.
→ Team Setup workflowThe app now supports player creation, staff roster detail editing, custom roster fields, deactivate/reactivate controls, tracking item management, roster AI import helpers, family contact import support, profile invite sharing, headshot capture, athlete media uploads, and profile recovery states.
→ Roster workflowNative game flows added live score controls, clock controls, basketball foul tracking, standard stat entry, opponent stat entry, statsheet photo import, substitutions, wrap-up recap, live broadcast routing, live chat, reactions, and game-day deep links that land on the correct event or game hub tab.
→ Track Game workflowParents and admins can handle public registration, registration detail/status views, in-app Stripe checkout, offline registration submission, registration payment instructions, review queues, waitlist promotions, fee batch creation, offline payments, balance adjustments, installment setup, and fee checkout link sharing.
→ Fees & Payments workflowSchedule, RSVP & Officials
Recurring team practice RSVP events now expand correctly, staff RSVP overrides collapse once handled, availability notes can be saved without retapping RSVP, inline team RSVP reminders and mobile staff reminders are available, and schedule reminder defaults no longer rewrite existing events unnecessarily.
→ Communication workflowOfficials can receive assignment notifications, claim eligible open slots, submit quick final scores and notes from official cards, and show submitted final results consistently. Admin views now include official status, team officials summaries, and a team officials modal.
→ Schedule workflowCoaches gained practice packet management, assigned-parent packet targeting, due-tomorrow packet reminders, staff packet completion notifications, forecast links on schedule event detail, and AI-assisted schedule import drafts for schedule cleanup.
→ Schedule workflowRoster, Profiles & Household Access
Roster import support now includes family contact headers, player profile fields, sibling-safe contact conflict handling, empty-state clarity, CSV contact validation, roster AI import parsing, and current roster CSV export.
→ Roster workflowAthlete profiles can now include headshots, highlight clips, uploaded media drafts, season selection in the quick editor, publish sharing, and direct parent/certificate share-link fallbacks while protecting sensitive player and household fields.
→ Roster: Athlete ProfilesParents can create and revoke household invites from Parent Tools, pending household invite revocation is exposed, invite redirects survive login, redeemed invite links route to dashboards, account merge requests and previews were added, and invite creation avoids caching recipient emails in the sender browser.
→ Join Team workflowTeam Media & Communication
Team Media added multi-photo and document uploads, album creation in the app, media type filters, album cover selection, item move, individual delete, bulk delete, upload approval, upload size and concurrency guards, pagination, lazy album loading, preserved upload IDs, and safer Storage access.
→ Team Media workflowMedia can be shared into team chat, photo posts are normalized for chat, staff-only album pushes are suppressed, notifications respect album visibility/audience, members avoid unopened album prefetches, and download URLs are cached after upload and legacy reads.
→ Communication workflowTeam chat now has keyboard @mention autocomplete, mention detection across message writes, mention push dedupe, per-conversation mute toggles, conversation-scoped reads, latest-message pinning on mobile, parallel attachment uploads, optimistic sends, and team email drafts, history, templates, and attachments.
→ Communication workflowFees, Registration & Payments
Team Fees added Stripe and offline refunds, parent-visible refund cards, unpaid/paid queue cleanup, fee payment summary export, due-reminder emails and push notifications, paid-payer/staff notifications, amount/deep-link details, overpayment prevention, player-linked checkout restrictions, and blocking cancellation for paid recipients.
→ Fees & Payments workflowRegistration checkout now uses server-side capacity writes, server-side fee recomputation, retry-safe checkout attempt tokens, async Stripe handling, rollback when checkout creation fails, failed-payment reminder emails, cancellation capacity release, and clearer fee breakdown and payment instructions.
→ Registration workflowAdmins now have background check settings, manual screening, staff-grant blocking until screening clears, selectable registration export columns, review CSV export, cursor pagination in the review queue, direct form reads for detail views, and waitlist offers that can be accepted.
→ Registration workflowGame Tracking, Live View & Reports
Live tracking now resumes clocks, restores logs, uses sport-config periods, saves playing time correctly, clears stale private stats on finish, keeps goal controls available until a stat config is selected, applies goal events to viewer stats, and supports player +2, baseball walk scoring, and baseball/softball game-plan formations.
→ Live Tracker workflowFamilies get watch/replay CTAs on schedule cards, completed live games link directly to match reports, mobile live games default to Video, audio announcements were added, liveScore pushes route correctly, and live chat/reactions require sign-in or shareable game visibility.
→ Live Watch & Replay workflowStatsheet imports no longer zero unsupported stats, unmatched rows default to review, DNP/zero-stat participation is handled more consistently, postgame player performance defaults to participants, postgame reports hide empty tabs, and malformed report fields are normalized before rendering.
→ Postgame workflowPlatform, Search & Hardening
The app added persistent local cache, pull-to-refresh, app shell during auth bootstrap, retry/skeleton/error states, lazy-loaded heavy panels, smaller push/inbox boot bundles, reduced query fan-out, cached schedule/team/media reads, native back navigation, accessibility announcements, and uxTiming/performance baseline instrumentation.
→ Dashboard workflowPublic team discovery became search-first with location search, mobile browse cards are actionable, app search routes Browse Teams natively, help results open inside the app with role filters and preserved team context, and page-reference coverage now protects shipped page links.
→ Help CenterThe release tightened calendar proxy host validation, public registration checkout capability, profile/player/contact reads, private team media Storage, fallback upload paths, team-fee billing metadata, access-code reads, admin invite creation, targeted chat membership changes, game reads, chat sanitization, logger redaction, and hosted Firebase config secret scanning.
→ Admin operations workflowMay 2026
Spring 2026 Release
New sports, full payment pipeline, registration management, team media, live-tracker resilience, broadcasting overhaul, calendar feeds, org scheduling tools, and roster access improvements.
Latest Updates
Timed pre-event reminders can post into the default team chat when families miss push, email, or device-level notifications. Reminder messages use deterministic IDs to avoid duplicate retry spam, and delivery audit fields are recorded on each notification.
→ Communication workflowAdmins can mark assignment slots (e.g., snack duty) as parent-claimable from the schedule editor. Parents see Sign up and Release actions on their dashboard, while admin-managed assignment details remain protected.
→ Schedule workflowOnline registration checkout now prepares the registration before redirecting to Stripe, carries registration context through success and cancellation returns, and restores button and spinner state after full-option errors. Full, non-waitlisted options are hidden from selection.
→ Registration workflowPrimary parents can invite another family member to share access to an athlete profile. The invite creates a scoped co-parent access code, supports existing-account detection, and connects the invited family member once redeemed.
→ Roster workflowTeam media rename handling, validation, and security-rule coverage were tightened so media titles can be updated without loosening album visibility or ownership protections.
→ Team Media workflowThe Help Portal now includes a searchable Team Operations entry, workflow table-of-contents links skip the self-referential In This Article heading, and the admin team action now says Deactivate instead of Delete to match the retained-data behavior.
→ Help CenterThe certificates landing page now emphasizes Start new run as the primary action, while custom AI description hints are carried through batch description generation for more tailored certificate copy.
→ Awards & Certificates workflowPlayer reports now show default stat columns even when every player has zero stats, and completed-game detail links use standard query parameters so game pages receive team and game IDs consistently.
→ Postgame workflowBackend URL validation was hardened against SSRF edge cases, telemetry auth payload tests were stabilized, unsupported chat last-read snapshot behavior was removed, and invite-based signup keeps auto-applied activation codes hidden across login and sign-up mode switches.
→ Admin operations workflowNew Features
Full sport support with built-in stat templates (AB, H, R, RBI, BB, FP), diamond formation layout, batting order planning, seven-inning defaults, and per-inning run scoring. Pitching and fielding position tracking included.
→ Live Tracker workflowAdmins create fee records with line items, optional installment schedules, and per-recipient tracking. Stripe Checkout links are generated on demand. Parents view a full invoice with balance and due dates and pay online. Offline payments, manual adjustments, and cancellations are all supported. Only completed Stripe sessions update fee status.
→ Fees & Payments workflowAdmins configure registration options with capacity limits, active/inactive status, and optional waitlists. Public registration forms enforce capacity via Firestore transaction. The admin review queue supports filtering across seven statuses: pending, waitlisted, offer extended, offer accepted, enrolled, released, rejected.
→ Registration workflowCoaches and admins create member-visible or manager-only albums, add YouTube/Vimeo video links, upload photos with per-file progress tracking, and set album cover images. Members can upload to member-visible albums. Admin bulk operations include select, bulk delete, move, and reorder.
→ Team Media workflowCoaches open the certificate studio, choose batch or individual mode, design the layout (background, typography, signature fields), and generate per-player AI narratives from actual game stat data. AI content is safety-constrained, opponent names are redacted, and output can be edited before publishing to parent dashboards or printing.
→ Awards & Certificates workflowBroadcasting & Streaming
Replaced the generic camera prompt with a structured three-state flow: session naming → Checking (camera/mic permission request) → Ready or Permission Failed. Platform-specific recovery instructions are provided for Chrome, Safari, and Android. Session name is used for replay list display.
→ Game Day: Broadcast setupNew combined access level grants a team member both scorekeeper and streaming permissions in a single game-day workspace. Stream & Score volunteers see scoring controls and broadcast status without access to roster, schedule editor, or player stats.
→ Track Game: Stream & Score pathOpt-in audio narration of live game events using the browser's Web Speech API. Works in both live view and replay. Mutable and pauseable at any time. Browser support preference is persisted for the session.
→ Live Watch & Replay workflowLightweight broadcast mode for goal-based sports (soccer, hockey, lacrosse, etc.). Tracks score, clock, and goal events only. Fans see live updates via the watch link. Designed for sideline use when full stat tracking is not needed.
→ Live Tracker: Goal Sport sectionCoaches save named highlight clips from the replay player. Each highlight stores a title, timestamp, player tags, and a seek-to-moment control. When a viewer clicks a highlight, the replay player jumps directly to that moment. Highlights are organized in the game media hub.
→ Postgame workflowReplaced the blank video area with four explicit states: Unavailable, Processing, Failed, and Ready. Each state shows actionable guidance text so users always know what to do next.
→ Postgame workflowCoaches copy an iframe embed snippet or a direct URL to display a live, read-only scoreboard on any external website. Updates in real time as the tracker records score changes. No login required to view.
→ Game Day: Scoreboard WidgetCalendar & Schedule
Each team member gets a personal, token-authorized HTTPS ICS subscription URL that includes games, practices, RSVP status, and officiating assignments. The SHA-256 token is tied to the member's identity and can be revoked. Subscribe via Apple Calendar, Google Calendar, or any ICS-compatible app.
→ Schedule: Private Calendar FeedPublic teams expose a read-only games-only ICS feed for fans. Excludes practices, RSVPs, and assignments. Accessible without a login. URL available from the schedule editor for sharing with league pages or club websites.
→ Schedule: Public Fan FeedPlatform admins generate a full season slot grid across all teams given team selection, season date range, venue availability, blackout dates, and game duration. Generator produces a conflict-free draft that admins review, edit, and publish. Mirror write failures trigger a rollback to keep all teams consistent.
→ Schedule: Org SchedulingPlatform admins download a CSV template, populate it with game data, and upload for validation. A preview table shows status per row: Add, Update, Unchanged, or Conflict. Conflict rows are excluded automatically. Admins confirm before import commits to Firestore.
→ Schedule: Org SchedulingWhen importing a schedule from a registration provider, admins see a full conflict preview before anything commits. Conflict rows are excluded by default; admins can uncheck specific safe rows to skip them. Import stores metadata and a miniature audit record on each committed event.
→ Registration workflowRoster & Access
Coaches and admins create player-scoped checklist items (forms collected, equipment issued, certifications on file) and toggle complete/incomplete per player. Items marked public are visible to linked parents in a read-only view. Manager-only items are never visible to parents or players.
→ Roster: Tracking ItemsParents share player access with a second caregiver by sending a household invite. The contact remains pending until they redeem the invite code. Revocation removes delegated parent/player links and invalidates the invite token. The roster shows current contact status (active, pending, revoked) visible to admins.
→ Roster: Household InvitesRoster imports from registration providers now include a preview step showing Add, Update, Unchanged, and Conflict status per row. Conflict rows are automatically excluded from import. Prevents accidental overwrites of manually managed roster data.
→ Roster workflowInvite redemption now enforces email matching before Firebase Auth account creation. If the signing-up email does not match the invited email, the flow is rejected with a clear mismatch error before any account is created. Invite context is preserved through the signup flow.
→ Join Team workflowTwo new scoped staff access levels below full admin. Scorekeeper: stat tracking and score management only. Videographer: broadcast setup and media capture only. Both are granted from the Team Staff & Permissions panel in Edit Team. Neither role can access roster, schedule editor, or team settings.
→ Team Setup: Staff PermissionsCoaches add officiating slots to game cards and assign officials from a team-maintained directory. Assigned officials receive notifications and can accept, decline, or mark can't-make-it. Self-assignment is restricted to eligible team participants. Assignment response and coverage status are visible on the schedule editor game card.
→ Schedule workflowAI Features
Runs from the Game Day pre-game panel. Reviews previous game event data and current player availability to produce a short tactical emphasis for today's game. Suggested emphasis, not a mandatory instruction.
→ Game Day: AI ActionsRuns from the Wrap-Up panel after the final whistle. Sends complete game events, substitutions, coach logs, and the Wrap-Up final score to the AI backend. Returns a structured analysis plus a practice feed linked to drill recommendations.
→ Game Day: AI ActionsWrites a natural-language match summary paragraph using the Wrap-Up score, opponent name, and key events. Output appears in an editable field. Save Summary can be triggered any number of times; the game page always shows the most recently saved version.
→ Game Day: AI ActionsLive Tracker Improvements
The Live Tracker now restores elapsed time correctly on page reload. Clock state (running/stopped, elapsed time) is persisted to Firestore on every tick and restored from the game record when the page initializes.
→ Live Tracker: ClockEvery substitution writes the current lineup to game.liveLineup in Firestore. On reload, the tracker restores from liveLineup rather than the original pre-game lineup, so sub changes are never lost. Multi-player substitutions are applied atomically.
Per-player foul counters display on each player button. When a player reaches the foul limit, their button shows a FOULED OUT! label. Opponent fouls are tracked separately and persist across page reloads.
→ Live Tracker: FoulsPlayers who participate in a game but record zero countable stats are now explicitly marked as participants in the aggregated stat record, ensuring their playing time is correctly credited when the game is finished.
→ Live Tracker: StatsWhen a stat is undone, the corrected aggregated stats are now re-broadcast to Game Day Command Center and the live watch view. Previously, the undo updated internal tracker state but broadcast totals shown to other users remained stale.
→ Live Tracker workflowThe game finish flow now correctly computes and saves per-player playing time using the full substitution log from liveLineup history. Players subbed back in after a reload no longer have post-reload time omitted.
Game Day Command Center
When the Game Day lineup is empty, opening the lineup panel automatically fills positions with players from the Going RSVP pool using the team's configured formation. Coaches review and can drag-and-drop to adjust before saving manually.
→ Game Day workflowPlatform & Access
Games can be linked to an opponent team in the system via opponentTeamId. When linked, the opponent team's name and photo are pulled automatically, and opponent player photos appear in the game report. Useful for leagues where both teams are managed in ALL PLAYS.
Coaches and admins can start a direct conversation thread with a specific parent, player, or staff member — separate from the main team chat channel. Conversation visibility is scoped to participants only.
→ Communication workflowPractice sessions not linked to a team game are now visible on the parent dashboard. RSVP controls for families with multiple linked players now show separate RSVP buttons per child — previously all children shared a single RSVP control.
→ Roster: Parent DashboardThe stat configuration editor now enforces access at page load. Users without coach or admin access to the team are redirected before any config data loads, closing a brief window where config data was visible to unauthorized users.
→ Team Setup workflowMarch 2026
Platform Hardening & New Integrations
Admin invite reliability, soft-delete, streaming integrations, Help Center rebuild, ICS calendar correctness, replay improvements, and dozens of targeted bug fixes.
New Features
Coaches enter a single stream URL in team settings. The platform auto-detects YouTube or Twitch and shows an embedded player with a live badge on the team page. Fans can watch the stream without leaving the ALL PLAYS experience.
Rebuilt as a workflow-first documentation site with dedicated workflow pages (game day, live tracker, schedule, roster, etc.). Each workflow page renders structured help content from a shared build pipeline. Navigation and footer links updated across the app.
→ Help CenterAdded robots.txt, sitemap.xml, and crawl/index metadata across all HTML pages so public-facing team and help pages can be discovered and indexed by search engines.
Coaches can override individual player RSVPs from the Game Day pre-game panel. Game records now carry season and league context (seasonLeague, seasonRecord) for use in stats and reports.
→ Game Day workflowDeleting a team or player now marks it as inactive rather than permanently removing data from Firestore. Inactive teams and players are hidden from normal views but historical game records, stats, and chat remain intact. Data is recoverable by admins.
Delegated coaches now have full team management access on team edit and roster pages, matching the access level of team owners and admin-email members. Access is revoked cleanly when a coach is removed from the team.
Production runtime for ZIP-based rainout polling: the system polls weather data for the team's ZIP code, aligns checks to 30-minute schedule boundaries, and surfaces delay or cancellation signals in the admin interface before the event start.
Rideshare offer and request functionality, previously available only for games, is now available for practice events on the parent dashboard.
→ Roster workflowAdmin Invite Reliability
Multiple fixes across the admin invite lifecycle: invite codes are consumed after acceptance, admin membership is persisted on redemption, expired codes are rejected, stale coachOf access is revoked on team edit pages, and the new-team creation flow correctly queues admin-email invites. The full redemption path was refactored into testable shared modules.
→ Join Team workflowParent invite signup now fails closed when invite linking or finalization errors occur. Previously, errors during linking were silently swallowed, leaving accounts partially set up. The email/password signup path was refactored into a shared module with explicit rollback behavior.
ICS Calendar Improvements
ICS field parameters are now preserved during parsing. TZID values on DTSTART/DTEND are extracted and used to convert wall-clock times to UTC correctly, preventing schedule import errors for teams in non-UTC timezones.
Cancelled ICS events (STATUS:CANCELLED and EXDATE) are now correctly handled during calendar import rather than being added as active events. Recurring VEVENT blocks are expanded into individual occurrences, including long-running series that started before the current date, with correct weekly interval and UNTIL date handling.
Calendar sync now correctly identifies practice events from ICS imports by parsing the SUMMARY field for practice keywords, so synced practices appear in the correct section of the schedule rather than being treated as games.
Live Tracker & Replay
The live tracker now restores the current period number and clock state from Firestore when the page is loaded or reloaded mid-game, so coaches returning to a tracking session see the correct period and time without manual re-entry.
Game reset operations now broadcast the reset to all connected viewers in real time. New field-status helpers track per-player on-field state across substitutions, improving the accuracy of playing-time calculations for generic (non-basketball) sport trackers.
Switching playback speed during a replay no longer causes timeline jumps. The replay timing helpers capture the exact elapsed replay time at click-time and rebase the start reference accordingly, keeping the replay position accurate across speed changes.
→ Live Watch & Replay workflowA single-flight lock prevents the game finish handler from running more than once simultaneously. Double-tapping the Finish Game button or rapid reloads at the finish moment no longer create duplicate stat aggregation records.
RSVP Reliability
Multiple fixes to parent RSVP submission scoping: RSVP playerIds now come from the clicked event context rather than all children, the fallback no longer fans out to all children on ambiguous context, and RSVP summaries are recomputed from subcollection data when denormalized summary data is missing. Coach RSVP overrides are correctly de-duplicated by latest effective response per player.
→ Schedule workflowWeekly recurrence intervals now apply correct gating, the UNTIL end date is treated inclusively (final day included), and series starting far in the past still produce current and future occurrences. Practice edit datetime-local inputs no longer drift due to timezone offset misapplication on prefill.
February 2026
Live Experience & Team Communication
Game Day Command Center, practice management, team chat voice and reactions, public schedule calendar, RSVP flows, rideshare, and a first-class global search.
New Features
A unified coaching surface covering the full game lifecycle — pre-game lineup and RSVP review, live stat monitoring, in-game coach notes, half-time and wrap-up panels. Coaches can manage everything from a single page without switching between schedule, tracker, and roster views.
→ Game Day workflowA command-palette style global search in the shared header covers teams, players, and quick actions. Open with the search icon or keyboard shortcut. Results update as you type and include direct navigation links.
Coaches manage practice sessions with scheduling, attendance tracking, and parent take-home packet workflows from a dedicated practice command center. Parents can view and submit assigned drill completions from their dashboard.
→ Schedule workflowGame cards now support home/away designation, kit color, arrival time offset, and coach notes. Parents RSVP with a four-status response (Going, Maybe, Can't Make It, No Response) from both the schedule list and calendar views. RSVP totals are visible to coaches in the Game Day pre-game panel.
→ Schedule workflowThe public team schedule page now supports list/calendar toggle, month navigation, day-detail modal on click, and filter chips (games, practices, all). Fans and parents can see upcoming events at a glance without logging in on public teams.
Parents can RSVP to practices with the same four-status flow used for games. Coaches see availability breakdowns per player on the practice page. Player deactivation is now supported, removing inactive players from RSVP pools while preserving historical records.
Parents can offer or request rideshare for games from the parent dashboard. Seat-count protection is transactional — concurrent requests cannot over-book a ride offer. Status (offered, requested, claimed, released) is visible to all participating parents.
→ Roster workflowCoaches and parents can dictate messages using the Web Speech API voice-to-text button in the chat composer. Image attachments can be added to messages with a per-file upload progress indicator before sending.
→ Communication workflowStandard emoji reactions on team chat messages with a floating emoji picker. Hover a reaction to see who reacted. Reaction state is stored in Firestore with no layout shift during updates. Multiple rounds of Firestore security-rule fixes were shipped to make reactions reliably work in production.
→ Communication workflowCompact Live Notes controls are available in the live tracker, with a voice toggle for hands-free note dictation and a quick-text input. Notes are timestamped to the game clock and visible in the Game Day wrap-up panel.
→ Live Tracker workflowCoaches save a league URL from the team settings page. An External Standings panel on the public team page embeds or links to the league standings, keeping everything a parent needs in one place.
Parents can open take-home practice packets directly from schedule list cards and the calendar day flyout — no need to navigate to the roster or practice page first.
Live Tracker Improvements
The live game viewer now stays in sync with the tracker clock. Clock sync events are treated as system events (not displayed to fans) and the tracker emits periodic heartbeats so viewers joining mid-game see an accurate clock rather than 0:00.
→ Live Watch & Replay workflowShared integrity helpers validate substitutions before applying, preventing lineup state from becoming inconsistent when rapid sub changes overlap. Multi-player substitutions are queued and applied together.
Opponent player name inputs in the live tracker no longer overflow off-screen on narrow mobile viewports. Jersey number labels are fixed-width and the input/name area shrinks to fit. Empty opponent cards hide broken avatar/placeholder text until a name is entered.
The LIVE badge is hidden by default and shown only when a live stream is active. REPLAY badge displays correctly during replay. Error handling was added around the game data initialization fetch so bad data does not crash the viewer.
→ Live Watch & Replay workflowThe live game viewer now enables the chat input whenever the game's liveStatus is active. Chat availability is determined by a shared helper that checks game state rather than relying on a static flag.
Drill Library
Drill resource links now support any URL, not just YouTube. Drill instructions render with linkified URLs. Diagram upload failures now fall back gracefully instead of leaving the drill form in a broken state. Drill slideout closes correctly after a successful save, and a duplicate-save race condition during rapid saves was fixed.
→ Schedule workflowJanuary 2026
Basketball Tracker
Dedicated basketball tracking with foul management, quarter tracking, stat undo, and game replay links.
Per-player foul counters added to the basketball live tracker. Players at or past the foul limit are visually flagged. Removing or undoing a foul event correctly reverses the foul count and other related stat changes.
→ Live Tracker: FoulsQuarter/period management improvements in the basketball tracker: the current quarter is tracked correctly across the full game. X buttons on individual stat events allow coaches to remove a single event without undoing all subsequent plays.
→ Live Tracker workflowGames opened from calendar events (.ics links or shared schedule links) were bypassing the basketball vs. standard tracker chooser modal and always routing to the standard tracker. Calendar-linked games now correctly prompt the tracker choice for basketball games.
A link to the completed game replay is now shown in the live view controls once the game is finished. Placeholder text is removed from the replay area when a real replay is available. Chat availability logic was updated to match the correct game lifecycle state.
→ Live Watch & Replay workflowDecember 2025
Initial Launch
ALL PLAYS goes live with core team management, live game stat tracking, real-time broadcasting, and practice session foundations.
Real-time stat tracking for team sports on mobile. Coaches tap player buttons to record events (shots, assists, rebounds, turnovers, etc.) as they happen. Stats aggregate live and are broadcast to the live game viewer. Events are stored in Firestore for post-game replay and reports.
→ Live Tracker workflowFans and parents watch real-time stats, score, and event feed from any device via a shareable game link. After the game, the same link becomes a full replay player showing events in sequence with adjustable playback speed.
→ Live Watch & Replay workflowCoaches create event-based practice sessions linked to the team schedule. Practice entries support attendance and drill assignment foundations that were expanded in later releases.
Core team creation, player roster management, and role-based access control (owner, admin, parent) using activation codes for secure team onboarding. Firebase Auth for email/password and Google OAuth sign-in.
An optimized mobile-first basketball stat tracker was introduced alongside the standard tracker. Basketball games prompt coaches to choose between standard and beta modes. Photo upload logging improvements were shipped alongside the initial tracker build.