🧪This is a one-person passion project, still very much in beta. Some roster data is off — fresh data drops Monday. Poke around, have fun, and bear with me!
Each marble is an NWSL team. The terrain is shaped by match results — wins carve valleys, losses build ridges. Hit Run to watch a season unfold. The shield winner descends deepest.

Season Descent

The terrain IS the season
?How Season Descent works
Season
Competitive Landscape
Distortions layer on the real season topology
Optimizer
Changes how match results move the balls
SGD — Pure results
Momentum — Streaks carry
Adam — Schedule adjusted
Natural Gradient — Late season weight
Learning Rate0.50
Noise (upset variance)0.50
Landscape Roughness0.30
Momentum β0.50
Playback Speed
Match Week
0
of 26
Live Standings