The rulebook
How leagues work.
A league is your friend group racing weekly goals. Everyone sets their own target, everyone is scored on percent of their own number, and a season of head-to-head weeks decides who takes the table.
Fair by design
You never compete on raw output. You commit to your own weekly target — 5 problems or 40, 3 workouts or 10 — and your score is the percent of it you hit. 5/5 beats 39/40. A beginner and a grinder are a dead-even matchup.
Your weekly score
Up to your target it's linear: 50% of target = 50 points, 100% = 100 points. Past your target the gains shrink fast (square root), so a sandbagged tiny target can't run away with the season. Consistency beats one heroic week.
| You log (target 10) | Score |
|---|---|
| 5 | 50 |
| 10 | 100 |
| 15 | ≈114 |
| 20 | ≈120 |
| 40 | ≈135 |
Head-to-head, every week
Each week (Monday to Sunday in your league's timezone) you draw one opponent — a round-robin rotation, so over a season everyone plays everyone. Odd headcount means someone gets a bye, which counts as a win.
Higher weekly score wins. Tied? More active dayswins. Still tied? More total volume logged. After that it's a draw.
The season
A season is 1–12 weeks. Standings rank by win rate, then total points. Once you have two counted weeks, your single worst loss (or worst draw if you have no losses) is dropped — wins are never dropped. One bad week doesn't end your season.
Picked a target that turned out wrong? You can revise it once per season; the new number kicks in from the next week, never mid-week.
One mulligan
Life happens. Once per season you can void one week — it disappears from your record and your opponent gets a bye-win. You can't mulligan a bye week.
Quiet weeks get a rest
Two straight zero weeks and you're rested from the pairings — no free wins against an empty chair, no pile-on. Log anything this week and you're back in the rotation from the next one.
Pick'em
Call the winners of the other matchups each week for +5 season points per correct pick. Draws and byes pay nothing, and your own matchup isn't on the card.
Daily streaks (optional)
If your league sets a daily goal, you build a streak of consecutive days hitting it (in the league's timezone). You earn one streak freeze per week, up to four a season — a freeze retroactively patches one missed day in the last 30.
Honor system
Check-ins are self-reported — log a number, add a note or a photo, done. It's your friend group, not a leaderboard of strangers. If someone fudges their numbers, that's between them and the group chat.
Ready? Take the table.