A lineup and fair playing-time planner for youth coaches

Every kid plays. Every kid sits. Nobody gets left out.

Fair Shake turns your roster into a rotation where every child's minutes are within one period of every teammate's, everyone takes a turn on the bench, and nobody ends up in a position they can't play. Then it prints the whole plan on one page for the touchline.

Free. No sign-up. Your roster stays in your browser.

Riverside Otters v Hilltop Hawks

Sat 7 Nov · 4 × 12 min

Lineup by position and period
PositionP1P2P3P4+2 periods
GKDevAvaBenChloe
LBEllieBenAvaDev
RBFinnChloeDevEllie
CMGraceHugoChloeFinn
LWHugoGraceEllieIsla
RWIslaJonahFinnGrace
STJonahIslaJonahHugo
BenchAva, Ben, ChloeDev, Ellie, FinnGrace, Hugo, IslaJonah, Ava, Ben

The old way

Friday night, a napkin, and ten names.

You have ten kids, seven spots and four quarters. You work it out in pencil: who sits first, who hasn't been in goal, whether Ben played more than Ava last week. Then one family cancels and you start again.

It takes an hour, it's easy to get wrong, and the parents on the touchline can count.

How it works

Three tabs. One button. Done before your coffee.

  1. Enter your roster once.

    Names, jersey numbers, and the positions a child can't play. Fair Shake remembers them for next week.

  2. Pick the game.

    Choose Soccer 5v5, 7v7, 9v9, 11v11 or Basketball, or set your own positions. Set the periods, the minutes, and who's away this week.

  3. Build the lineup.

    One tap gives you a rotation that passes every rule. Don't like it? Reshuffle for another fair version, or swap any two kids by hand.

The proof

Four quarters. Ten kids. Nobody more than one quarter apart.

This is the real plan Fair Shake makes for the Riverside Otters. Scroll to play it out.

The rotation

Riverside Otters lineup, all four periods
PosP1P2P3P4
GKDevAvaBenChloe
LBEllieBenAvaDev
RBFinnChloeDevEllie
CMGraceHugoChloeFinn
LWHugoGraceEllieIsla
RWIslaJonahFinnGrace
STJonahIslaJonahHugo
BenchAva Ben ChloeDev Ellie FinnGrace Hugo IslaJonah Ava Ben

Minutes so far

  • 7 Ava24 min, sat 2
  • 3 Ben24 min, sat 2
  • 11 Chloe36 min, sat 1
  • 5 Dev36 min, sat 1
  • 9 Ellie36 min, sat 1
  • 2 Finn36 min, sat 1
  • 14 Grace36 min, sat 1
  • 8 Hugo36 min, sat 1
  • 4 Isla36 min, sat 1
  • 10 Jonah36 min, sat 1

Range 24–36 min · Everyone sat · Every position filled

Period 1

Ava, Ben and Chloe start on the bench. Dev takes goal.

Period 1 lineup
PosPlayer
GKDev
LBEllie
RBFinn
CMGrace
LWHugo
RWIsla
STJonah

Bench Ava, Ben, Chloe

Period 2

Bench rotates in roster order. Ellie sits, so she's nowhere near goal.

Period 2 lineup
PosPlayer
GKAva
LBBen
RBChloe
CMHugo
LWGrace
RWJonah
STIsla

Bench Dev, Ellie, Finn

Period 3

Kids move around: Ben, who was at left back, goes in goal.

Period 3 lineup
PosPlayer
GKBen
LBAva
RBDev
CMChloe
LWEllie
RWFinn
STJonah

Bench Grace, Hugo, Isla

Period 4

Everyone has sat at least once. Minutes: 24 to 36, one quarter apart.

Period 4 lineup
PosPlayer
GKChloe
LBDev
RBEllie
CMFinn
LWIsla
RWGrace
STHugo

Bench Jonah, Ava, Ben

Minutes after four periods

  • 7 Ava 24 min sat ×2
  • 3 Ben 24 min sat ×2
  • 11 Chloe 36 min sat ×1
  • 5 Dev 36 min sat ×1
  • 9 Ellie 36 min sat ×1
  • 2 Finn 36 min sat ×1
  • 14 Grace 36 min sat ×1
  • 8 Hugo 36 min sat ×1
  • 4 Isla 36 min sat ×1
  • 10 Jonah 36 min sat ×1

Range 24–36 min · Everyone sat · Every position filled

What it handles

The rules you'd check by hand, checked every time.

Fair, and it shows you.

A fairness panel lists every child's minutes, periods on the bench and positions played, with a clear Fair or Uneven badge. When a parent asks, you have the numbers.

Sample fairness panel
Player Min Bench Positions
Ava 24 2 LB, GK
Dev 36 1 GK, RB, LB
Ellie 36 1 LB, LW, RB
Fair

Never the wrong spot.

Mark the positions a child can't play. The lineup never puts them there.

Everyone moves around.

Kids rotate through positions instead of standing in one spot all game.

Short-handed? Still covered.

Order your positions by importance. When you're short, the last ones are left open and flagged, so goal is never empty.

Your call, by hand.

Tap two kids in a period to swap them. The badge tells you straight away if your change made it uneven. Works with a keyboard and a screen reader too.

One page for the touchline.

Print the game-day card: every period with full position names, the bench, and who's away. No buttons, no clutter, black on white.

Print-ready

The real thing

This is the app. Not a mock-up.

Fair Shake runs in your browser on a laptop at home or a phone at the field. Big tap targets, a tab bar under your thumb, and dark mode when the floodlights come on.

Lineup tab showing four periods of positions and a fairness panel marked Fair
Card tab on a phone showing the printable game-day card with every period and the bench
  1. 01 Lineup: who plays where, every period
  2. 02 Card: the sheet you print
  3. 03 Team: your roster, saved in this browser

Good to know

Stays on your device.

Your roster and lineup are saved in this browser and nowhere else. There's no server and no sign-up.

Built for one team, one game.

Fair Shake plans your next game. It doesn't track the season, and it won't ask you to.

Five formats, or your own.

Soccer 5v5, 7v7, 9v9 and 11v11, basketball, or a custom set of up to 15 positions and 30 players.

Fair means something exact.

Every available child's playing time is within one period of every other's, and everyone sits at least once whenever there are enough bench turns to go round.

Give every kid a fair shake this Saturday.

Five minutes to set up your roster. One tap every week after that.

Open Fair Shake

Free · Works on phone and laptop · Prints on one page