⚽
No Active Game
Enter an opponent name above and tap New Game to get started
Game History
⚽ SubGo
Sideline substitution and game tracker for soccer coaches.
Everything runs in your browser — no account, no server, no internet needed after first load.
Everything runs in your browser — no account, no server, no internet needed after first load.
⚙️ Settings
Position Numbers
Keep Screen On
Buzz Alerts
Field Positions
Use the preset buttons to configure the field for your game format, then fine-tune with individual checkboxes. Any player assigned to a hidden slot is moved back to the bench automatically. When a paired slot (e.g. ST 2) is hidden, the remaining slot centers on the field.
👥 Teams
Switch Teams
Tap the team name button in the center of the header to open the team manager. All rosters and game history are stored separately per team.
Add a Team
Type a team name in the team manager and tap Add. The app switches to the new team immediately.
Delete a Team
Tap ✕ next to the team in the team manager. You must have at least one team. Deletion is permanent.
📋 Roster
Add Players
Enter a jersey number and name, then tap Add Player. Jersey number is optional. Players are stored per team.
Edit Players
Tap ✎ on any player card to edit their name or jersey number.
Remove Players
Tap ✕ on any player card to remove them from the roster.
🎮 Running a Game
Start Game
Go to the Game tab, type the opponent name, and tap New Game. The field appears with labeled position slots.
Place Players — Drag
Press and hold a player chip in the Bench panel, then drag onto any position slot on the field or onto a row in the On Field list. You can also drag a player already on the field to a different position.
Place Players — Tap
Tap a bench player to select them — they highlight in blue and the bench header shows "tap a position." Then tap any field slot or On Field row to place them. Tap the same player again or tap Cancel to deselect.
Game Clock
Tap Start in the top right to run the clock. Tap HT at halftime — the clock resets to 0:00 but all player minutes carry forward into the second half. If you forgot to start the clock on time, tap the clock display while paused to reveal −30s and +30s nudge buttons to adjust the time. Tap the clock again to hide them.
Halftime / End Game
Tap HT to start halftime. The button changes to End for the second half — tap it to close all player stints and stop the clock.
Unavailable
Drag a bench player into the Unavailable zone to mark them absent for this game. Tap Reset to return them to the bench, or start a new game to clear automatically.
Remove from Field
Tap any player dot on the field to remove them back to the bench.
🔄 Substitutions
Queue a Sub
Drag or tap-select a bench player onto an occupied field slot. A pending sub is queued — the outgoing player dims and shows a pulsing orange ring. Multiple subs can be queued at once.
Call Out
Tap 📋 Call Out to open a full-screen display. Each substitution is shown as a paired card — incoming player on the left, position in the center, outgoing player on the right. Easy to read aloud on the sideline.
Confirm Subs
Tap ✓ Confirm when play stops to execute all queued subs at the current game minute. Tap ✕ on any pending row to cancel that individual sub.
⏱ Alerts
Bench Alert
In the Bench panel, set the minutes threshold (default 5 min). Any player on the bench longer than that is highlighted in orange with their bench time shown. The phone will also buzz once when they first hit the threshold. Uncheck the box to disable.
On Field Alert
In the On Field panel, set the minutes threshold (default 20 min). Any outfield player on the field longer than that is highlighted in orange. The phone buzzes once when they first hit the threshold. The GK is never flagged and is always pinned to the bottom of the On Field list — outfield players sort by longest time on field first. Uncheck the box to disable.
Alert Resets
Both alerts clear the moment a player is substituted. Halftime resets all timers so second-half alerts start fresh.
⚽ Score Tracking
Log a Goal
Tap your score (blue) in the header to open the scorer picker — choose who scored from the on-field players, or tap Own Goal. Tap the opponent score (white) to log their goal instantly.
Undo / Edit
Tap ↩ in the header to remove the last goal. In the Summary tab, expand a game and tap ✎ to edit a scorer or ✕ to remove a goal individually.
📊 Summary
Expand a Game
Tap any game row to expand it and see the final score, goal log with scorers and minutes, and a full player breakdown sorted by total time played.
Position Breakdown
Under each player's name, small tags show every position they played and how many minutes at each — for example CB 15' CM 8'. Sorted by most minutes first.
Export CSV
Tap CSV at the top of the Summary tab to download all game data as a spreadsheet file.
💾 Data & Storage
Storage
All data is stored locally on this device only. No data is sent to any server. Clearing your browser data will erase all teams, rosters, and games.
Offline Use
After the first load, SubGo works without an internet connection. Install it to your home screen for a full-screen app experience.
Install on Phone
Android: open in Chrome, tap the three-dot menu → Add to Home Screen. iPhone: open in Safari, tap the Share button → Add to Home Screen.
Dev Mode
Add ?devmode=true to the URL to make the game clock tick 30 seconds per second — useful for testing without waiting through a full match.
⚗️ SubGo Test Panel
Tap "Run All Tests" or select a suite above.
✓ 0 passed
✗ 0 failed
0 total
v1.0.38