Leagues β your score now means something
A single high score is a brag. A league is a reason to come back tomorrow. We shipped promotion, relegation, and weekly resets across the feed.
Remix Team
Remix Team

The leagues engine
Leagues are live. Every player now sits in a tier, climbs with weekly performance, and gets promoted or relegated when the week rolls over. Structurally this is a new competition surface stacked on the scoped-scoring primitives we already had, not a one-off feature bolted onto a single game.
The unit of competition is the week. Scores are scoped to a weekly window, the same time-bucketing approach daily entries and tournaments use, so a player's league standing reflects only the current week's play rather than an all-time total an early mover locked up long ago. At the end of the week a reset job reads each tier's final weekly ranking and moves players across tier boundaries: the top of a tier promotes up, the bottom relegates down, and everyone starts the next week scored from zero inside their new tier.
The LeagueLeaderboard surface
Leagues render through a dedicated LeagueLeaderboard surface rather than the per-game board. A per-game board ranks one game's players; a league ranks a player's standing across the platform within their tier for the week. That meant a leaderboard read that aggregates across the feed, scoped to a tier and a week, served by indexes built for that access pattern so a platform-wide ranking stays fast instead of fanning out into per-game scans.
The reset is season-aware. The weekly roll happens inside a job that respects season boundaries, so when a season ends the weekly cadence hands off to season-end handling cleanly instead of promoting people into a tier that is about to be wiped. That coupling is deliberate: leagues are the weekly loop, seasons are the long loop, and the reset job is where the two meet.
Why a fair climb beats a timer
Most free-to-play games manufacture retention with friction: energy timers, recharging lives, a wall you pay to skip. That is a tax on fun and exactly the model vibe coding should kill. A weekly reset gives you a reason to open the app tomorrow that has nothing to do with a countdown or a paywall. You come back because you were one rung from promotion. For creators, leagues hand every published game built-in stakes, the kind of retention loop that used to require a live-ops team, inherited for free the moment they ship.