Game Tracker Guide

Live play-by-play tracking for Mountainside Aces games

📋 In This Guide
1 What is Game Tracker?

Game Tracker is a live play-by-play tracking tool that lets you record every at-bat during a game. It automatically:

  • Tracks batting stats - Hits, walks, outs, RBIs calculated live
  • Manages base runners - Visual diamond shows who's on base
  • Syncs in real-time - Both teams see the same score/inning
  • Works offline - Queue plays when signal is weak, sync later
  • Calculates scoring - Runs automatically counted as runners cross home
✨ Best Use Case
Have someone on the bench (team staff, a subbed-out player, or a fan) track plays while the game is in progress. Stats are saved and can be reviewed after the game.
2 Who Can Use It
🔐 Permission Levels
Role Can View Can Track Plays
Captain ✅ Yes ✅ Yes (own team)
Team Staff ✅ Yes ✅ Yes (own team)
Scorekeeper ✅ Yes ✅ Yes (any team)
League Staff / Admin ✅ Yes ✅ Yes (any team)
Players / Fans ✅ Yes ❌ View Only

Viewers see a yellow banner: "đŸ“ē You're viewing this game. Only team captains and staff can track plays."

🏆 Dual-Team Tracking
Scorekeepers and league staff can track BOTH teams in a game. When both teams are being tracked, plays from each team sync together into a combined play-by-play view.
📍 Finding Game Tracker
Access Game Tracker from: Profile → Quick Actions → ⚾ Game Tracker, or directly at /game-tracker.html
đŸ‘ī¸ Spectator Mode

Users with tracking permission (captains, team staff, scorekeepers, admins) can toggle Spectator Mode to watch without accidentally making changes:

âœī¸ Editor Mode (click to spectate)
đŸ‘ī¸ Spectator Mode ON (click to edit)

When Spectator Mode is ON:

  • You can view the game, scores, and play-by-play
  • Play buttons, lineup editing, and score controls are disabled
  • You won't accidentally record plays while watching
  • Click the toggle again to switch back to Editor Mode
💡 When to Use Spectator Mode
Use Spectator Mode when you want to follow along with a game someone else is tracking, or when you're done tracking and just want to watch the live updates without risk of accidental edits.
3 Game Setup

Setting up a game takes three simple steps:

Step 1: Select Your Team

Choose which team you're tracking from the dropdown. Only teams you have permission to track will show your games.

Step 2: Select the Game

Your upcoming games appear in a list showing:

  • Matchup - Away Team @ Home Team
  • Date - When the game is scheduled
  • Home/Away badge - 🏠 Home or âœˆī¸ Away

Click a game card to select it - it will highlight green with a "✓ Selected" badge.

Step 3: Start Game Tracker

Review the matchup summary, then click the big green button:

⚾ Start Game Tracker

If a batting order was set by the captain in Roster Management, you'll see a green confirmation: "✅ Batting order set by captain - will be loaded automatically"

4 Pitcher Tracking

Track which pitcher is on the mound for each team. This enables pitching stats to be calculated from play-by-play data.

⚾ Starting Pitchers Modal

When you start tracking a game, a modal prompts you to select starting pitchers:

⚾ Set Starting Pitchers

Optional - helps track pitching stats

Your Team Pitcher:
Select from roster dropdown...
Opponent Pitcher:
Select from roster dropdown...
Skip Start Tracking

You can skip this step - pitcher selection is optional. You can always set or change pitchers later during the game.

📊 Pitcher Bar

During the game, a purple pitcher bar displays current pitchers for both teams:

⚾ Pitchers
White
Bob Jones â–ŧ
Orange
John Smith â–ŧ

Click the dropdown to change pitchers at any time. Each team's roster is available for selection.

🔄 Making a Pitching Change

When you change a pitcher using the dropdown:

1
Select the new pitcher from the dropdown
2
A confirmation dialog appears showing the change
3
Click Confirm to save the change
4
The pitching change is logged in the play-by-play
3 â€ĸ 🔄 Orange Pitching Change â€ĸ Mike Jones replaces John Smith
📈 How Pitching Stats Work
Every batting play is automatically associated with the current opposing pitcher. When your team bats, the opponent's pitcher gets credited with hits allowed, strikeouts, walks, etc. This data can be used to calculate pitching stats like IP, H, BB, K, and ERA.
🔄 Syncs Between Trackers
Pitcher selections sync in real-time. If one tracker sets a pitcher, the other tracker will see it update automatically. Both trackers can change either team's pitcher.
5 Batting Order & Lineup

There are two ways to set your batting order:

Option A: Import from Roster Management (Recommended)

Before the game, captains can set the batting order in Roster Management:

1
Go to Roster Management from your Profile
2
Select your team and the upcoming game
3
Set the batting order using drag-and-drop
4
When you start Game Tracker, the order loads automatically
Option B: Edit Lineup Live During Game

You can also adjust the lineup during the game:

1
Click "📋 Lineup" or "â–ļ Edit Lineup" to expand the lineup manager
2
Use ▲/â–ŧ arrows to move players up or down in the order
3
Click ✕ to remove a player from the lineup
4
Click a player from "Add Player" list to add them to the bottom of the order
➖ Removing a Player Mid-Game

When a player needs to leave (injury, early departure, etc.):

  • Click the ✕ next to their name in the lineup
  • Their stats are preserved - any at-bats, hits, and runs already recorded stay in the game totals
  • They're removed from the batting order rotation
  • The batter indicator adjusts automatically
✅ Stats Are Safe
Removing a player does NOT delete their stats. If someone batted 2-for-3 before leaving, those stats are still counted when the game ends. The player is simply skipped in future at-bats.
➕ Adding a Player Mid-Game

When a late arrival or substitute needs to be added:

  • Click "â–ļ Edit Lineup" to expand the lineup section
  • Look for the "Add Player" section at the bottom
  • Click on any player from your team roster to add them
  • New players are added at the bottom of the batting order
  • Use the ▲/â–ŧ arrows to move them to the correct spot
âš ī¸ Only Rostered Players
Only players on your team's season roster appear in the "Add Player" list. If you need to add a sub who isn't rostered, contact league staff to add them to the roster first.
💡 When to Edit Live
Use live editing when: a player arrives late and needs to be added, someone gets injured and leaves, or you need to add a sub mid-game. The current batter is always highlighted with a green "Up Now" badge.
6 The Interface

The Game Tracker screen has several key areas:

📊 Scoreboard Header

The green header bar shows four columns:

  • Inning
    Current inning with ▲ (top) or â–ŧ (bottom) indicator, plus which team is batting
  • Outs
    Number of outs in the current half-inning (0-3)
  • Your Team Score
    Your team's current run total
  • Opponent Score
    Opponent's runs - includes +/- buttons to manually adjust
💎 Baseball Diamond

The interactive diamond shows:

  • Base runners - Names appear on occupied bases
  • Home plate - Drop zone for scoring runners
  • Out indicator - Visual dots showing current outs

During play adjustment, each runner has arrow controls to advance/retreat and an X to mark as out.

🏏 Now Batting Display

Shows the current batter's jersey number, name, and position. This automatically advances after each play is recorded.

📈 Live Batting Stats Panel

On the right side, see real-time stats for each player:

  • AB - At bats
  • H - Hits
  • R - Runs scored
  • BB - Walks
  • AVG - Batting average (calculated live)
7 Recording Plays

When your team is batting, you'll see a grid of play buttons. Tap the result of the at-bat:

🎮 Play Button Grid

This is how the buttons appear in the Game Tracker:

1BSingle
2BDouble
3BTriple
HRHome Run
BBWalk
KStrikeout
GOGround Out
FOFly Out
SFSac Fly
FCFielder's Ch
DPDouble Play
✅ Hit Buttons (Green)
  • 1B Single
    Batter reaches first base safely
  • 2B Double
    Batter reaches second base, runners advance
  • 3B Triple
    Batter reaches third base, runners likely score
  • HR Home Run
    Batter and all runners score automatically
❌ Out Buttons (Red)
  • K Strikeout
    Batter out, no runner adjustment needed (auto-recorded)
  • GO Ground Out
    Batter out on ground ball - adjust runners as needed
  • FO Fly Out
    Batter out on fly ball - adjust for tag-ups
  • SF Sac Fly
    Out recorded, but runners can tag up and advance
  • DP Double Play
    Batter is out, 2 outs pre-recorded. Use ❌ on the other runner who was thrown out. See Special Plays →
đŸ”ĩ Other Buttons (Blue)
  • BB Walk (Base on Balls)
    Batter takes first, runners forced to advance only if bases loaded
  • FC Fielder's Choice
    Batter reaches first. Each runner you ❌ counts as an out — works for 1-out or 2-out plays. See Special Plays →
âš ī¸ Play Confirmation
After selecting a play, you'll enter "adjustment mode" where you can move runners before confirming. Nothing is saved until you click ✓ Confirm Play
8 Managing Base Runners

After selecting a play type, you'll see runner adjustment controls:

🎮 Runner Controls

Each runner on base shows:

  • ← Back Arrow
    Move runner back one base (e.g., if they were thrown out trying to advance)
  • → Advance Arrow
    Move runner forward one base toward home
  • X Button (Red)
    Mark runner as out. Adds 1 out for most plays. For DP, the 2 outs are pre-counted so ❌ just identifies which runner was thrown out.
🏠 Scoring Runs

When a runner advances past third base, they score automatically. You'll see:

+1 Run +2 Runs

The run count updates in real-time as you adjust runners. Home runs automatically score the batter plus all base runners.

💡 Drag and Drop
On desktop, you can drag runner names directly to another base or to home plate to score them. This is faster for complex plays with multiple runner advances.
9 Special Plays (FC, DP & More)

Some plays need extra attention when tracking. Here's how to handle the most common situations:

đŸ”ĩ Fielder's Choice (FC) — Batter Safe, Runner(s) Out

Use FC whenever the batter reaches base safely but the defense chose to get a different runner. Each runner you ❌ counts as one out.

Example: Runner on 1st, grounder to short, runner thrown out at 2nd, batter safe at 1st

1
Tap FC
2
Batter goes to 1st automatically, runner advances to 2nd
3
Tap ❌ on the runner at 2nd (who was thrown out) → 1 out recorded
4
Confirm play

Example: Runners on 1st & 2nd, batter safe, BOTH runners thrown out (FC double play)

1
Tap FC
2
Batter goes to 1st, runners advance
3
Tap ❌ on the first runner who was out → 1 out
4
Tap ❌ on the second runner who was out → 2 outs
5
Confirm play — batter stays on 1st, 2 outs recorded
🔴 Double Play (DP) — Batter Out + Runner Out

Use DP for the traditional double play where the batter is out and one runner is also thrown out (e.g., 6-4-3, 4-6-3).

Example: Runner on 1st, grounder to short, 6-4-3 double play

1
Tap DP — 2 outs are pre-counted, batter does NOT reach base
2
Runners remain on the diamond for you to adjust
3
Tap ❌ on the runner who was thrown out (this identifies them but doesn't add extra outs)
4
Confirm play — 2 outs recorded

Example: Runners on 1st & 3rd, 6-4-3 DP, runner on 3rd scores

1
Tap DP — runner on 3rd auto-scores (they usually score before the DP completes)
2
Tap ❌ on the runner on 1st who was thrown out at 2nd
3
Confirm play — 2 outs, 1 run scored
💡 DP vs FC — Which Do I Use?
DP: The batter is out (traditional double play — batter grounded into it).
FC: The batter is safe at 1st but runner(s) were thrown out instead.

If you're not sure, ask: "Did the batter reach base safely?" If yes → FC. If no → DP.
🟡 Other Common Situations
  • Runner thrown out at home on a single
    Record the 1B, advance the runner to home (scores), then tap the scored runner's name to un-score them. They'll go back to 3rd — then ❌ them to mark out at home.
  • Runner caught stealing / picked off
    Use GO or FO for the current batter, then ❌ the runner who was caught. Or if no at-bat happened, you may need to undo and re-record.
  • Sac fly with runner on 3rd
    Tap SF, advance the runner from 3rd to home (they score), confirm. 1 out + 1 run. SF does not count as an official at-bat.
  • Runner on 3rd scores on a DP
    The tracker auto-scores runners on 3rd for DP. If they did NOT actually score, tap their name in the scored runners list to un-score them.
10 Score Adjustments

Sometimes a run needs to be added or removed manually — a scoring correction, a timing play on the 3rd out, or a missed play.

➕ Adding a Run

Tap the + next to your team's score in the scoreboard header.

A modal will appear asking which player scored. Runners currently on base are shown first (highlighted green) since they're the most likely scorers. The rest of your lineup appears below.

This creates an audit trail so runs can be attributed to the correct player in the final stats.

➖ Removing a Run

Tap the − next to your team's score.

A modal shows all players who have scored. Tap the player whose run needs to be removed (e.g., timing play on the 3rd out, scoring correction).

â†Šī¸ Undo Last Play
If you recorded the wrong play entirely, use ↩ Undo Last Play instead of manually adjusting the score. Undo fully reverses the last action — including base runners, outs, and score changes. It works for regular plays, pitching changes, and manual score adjustments.
11 Inning Management

The tracker handles half-innings automatically:

🔄 After 3 Outs

When your team records 3 outs, an amber banner appears:

3 Outs - Side Retired
Your team's half inning is complete

Click the button to advance to the next half-inning (e.g., "Bottom 3 - Opponent Batting")

â¸ī¸ While Opponent Bats

When the opponent is batting, you'll see a green panel with:

  • Message showing who's batting
  • +/− buttons to track opponent runs
  • â–ļ Back at Bat button for when it's your turn again

You don't need to track individual opponent at-bats - just update their score and advance when they get 3 outs.

12 Tracking Opponent Score

If the opponent team isn't using Game Tracker, you can manually update their score:

➕➖ Score Adjustment

In the scoreboard header, the opponent score has +/- buttons:

  • + Button - Add a run when opponent scores
  • - Button - Remove a run if entered incorrectly

These updates sync to Firebase so both teams see the same score.

🔄 Real-Time Sync
If BOTH teams are using Game Tracker, scores sync automatically from each team's play-by-play. You'll see opponent plays appear in the combined play-by-play log.
13 Real-Time Sync

Game Tracker uses Firebase real-time sync so everyone stays updated:

đŸ‘Ĩ Presence Indicator

See who else is watching or tracking the game. Active trackers appear with their name and how recently they were active.

🔔 Live Notifications

When the opponent team records a play, you'll see toast notifications:

  • Score updates
  • Inning changes
  • Play-by-play updates (if both teams tracking)
📋 Merged Play-by-Play

At the bottom of the screen, see a chronological log of all plays from both teams (when both are tracking). Plays are color-coded:

  • Green background - Your team's plays
  • Gray background - Opponent's plays
  • Purple background - Pitching changes
14 Mobile & Offline Mode

Game Tracker is designed for field use on mobile devices:

📱 Mobile-Optimized Design
  • Large touch-friendly buttons
  • Responsive layout that works on phones
  • Diamond and stats adjust to screen size
  • Easy one-handed operation
📡 Offline Support

When your connection drops, you'll see a status indicator:

📡 You're offline

Plays are queued locally and automatically sync when you're back online. You'll see:

✅ Back online
âš ī¸ Don't Close the Browser
If you have an active game with plays recorded, closing or refreshing the page will show a warning. Your data is auto-saved, but it's best to properly end the game first.
15 Ending the Game

When the game is over, use these controls:

🎮 Game Controls

↩ Undo Last Play

Remove the most recent play if you made a mistake. Disabled when no plays recorded.

💾 End Game

Finalize the game, save all batting stats, and return to setup screen. Use this when the game is complete.

⚠ Clear Progress

Erase all tracked plays and start over. Use with caution - this cannot be undone!

✅ After Ending
Game results including batting stats are saved to Firebase. These can be used for season statistics and game recaps. You can start tracking a new game immediately after ending.
📌 Quick Reference
⚡ Quick Workflow
  1. Select team → Select game → Start tracker
  2. Set starting pitchers (optional) → Start tracking
  3. Tap play result (1B, GO, K, etc.)
  4. Adjust runners if needed
  5. Confirm play
  6. Repeat until 3 outs → advance inning
  7. Track opponent runs → click "Back at Bat" when your turn
  8. Change pitcher mid-game if needed
  9. End game when complete
âŒ¨ī¸ Play Type Shortcuts

Hits (count as AB + H): 1B, 2B, 3B, HR

Outs (count as AB, no H): K, GO, FO, SF, DP

Other (no AB): BB (walk), FC (fielder's choice - counts as AB)

Questions? Ask your team captain or league staff for help.
← Back to Profile