Gameday App · 4-4-2 · 7-Minute Shifts · Offline · Editable Roster
Edit the roster, hit Build Lineup — the engine handles groups, goalie coverage, and positions for every shift.
| Name | Out today | Can play GK | ★ Star | Position A | Position B | Position C |
|---|
Roster edits live only in this open browser tab — nothing is saved to a server or synced elsewhere. Reopening the file resets to today's default roster. Building the lineup switches you to the Rotation tab at Shift 1.
Injury or leaving early? Check "Out today" for them on the Roster tab, then recalculate here — shifts already played stay locked in, only shift 1 onward reshuffles.
Auto-pauses at halftime so keepers can swap on your own timing. Sound is a generated tone (no file), vibration works on Android not iPhone Safari. Screen-on isn't guaranteed on every phone.
| Shift | Time | On field | Resting | Goalie |
|---|
| Player | Shifts | Minutes | Positions played |
|---|
Assumes a 35-minute half (5 × 7-minute shifts). Rest-cycle order is fixed; positions are filled by matching each present player's own A/B/C list to the slot that needs them most, most-constrained player first, so nobody's left without a spot when the numbers are tight.
The goal: even playing time and real position variety, even when the roster isn't a clean number and even when kids are out. You edit who's here and what they play; the engine does the rest.
How it decides: present, non-goalie players split into 3 as-even-as-possible groups. Every 7-minute shift, two groups play while one rests, cycling through all three pairings. If a shift's two groups don't add up to 10, players are pulled up from the resting group in rotation until it does. Positions are assigned by giving each shift's most-constrained player (fewest positions they can play) first pick of their best-ranked open slot, so specialists lock in their spot before flexible kids fill in around them. Goalies are picked from whoever's checked "Can play GK" and present, in the order they're listed.
Position mandate: on by default (toggle on the Roster tab). Once a player has played their best-ranked spot enough, the engine starts favoring any other listed position they haven't played yet — including swapping sides (left/right) — over their top rank. If that alone doesn't reach the target by game's end, a cleanup pass swaps positions (never shifts or minutes) between two players already on the field the same shift, whenever a legitimate swap exists. Anyone who still falls short is named on this tab.
Tap a position to see its zone and how it roams — good for "you are here" on the sideline.
Tap a position above to see its coverage.
main run covers & roams supporting run
Stay compact, protect the middle, push play wide. Our own half, defending toward the bottom.
Short gaps between the lines leave no room to play through. If a gap opens, the whole line shifts to close it, not just the nearest player. Tap a position to see its part in the shape.
the compact block protect this middle push the ball wide center backs step up together (the offside trap) backs & mids press out, up, and to the corner strikers press wide and toward their goal keeper's home: tight to the 6, recovers to the baseline, stays inside the 18