LeaderboardDB

Rankings that stay right when everyone finishes at once.

Point it at the scores table you already have. Plany keeps a live ranking in memory, answers “where am I” in a single lookup, and never puts two players at the same place.

Exact, never approximate

Ranks run 1, 2, 3 — no gaps, no ties, no estimates. Two players on the same score are separated by whoever got there first, so nobody is ever shown as joint fourth.

A board — try submitting a score somebody already has
Weekly — Season 4Highest score firstLatest scoreFirst to get there wins a tie
You are 9th of 9
RankPlayerScoreFrom
1stnyx-91c4184,920source
2ndquill-7b0e172,310source
3rdsable-4d13168,004source
4wren-2a88151,775source
5orin-b350140,612source
6juno-cc17132,889source
7pike-05fd121,450source
8thea-e9a2118,236source
9you88,150source

168,004 is a score somebody already has. Submit it and you come fourth, not joint third. Remove anyone with ✕ and everybody below them moves up at once — a rank is counted rather than stored, so there is nothing to recompute and nothing to miss. A score you submit and one loaded from your database are ranked by the same tree, which is what From is telling you.

Your database, not a copy

Give it a query against your PostgreSQL, MySQL or MongoDB — or an endpoint you already serve — and it stays in step. Nothing to dual-write, so there is never a second answer to disagree with the first.

Where the scores come from
select player_id, best_score, updated_at
  from scores
 where season = 4
 order by best_score desc
 limit 500000

Player

player_id

Score

best_score

Set at

updated_at

Reloaded every 5msha256:4f21…c0b9

Your query, sent as you wrote it — nothing to dual-write, so there is never a second answer to disagree with the first. The connection string is encrypted before it is stored and no read gives it back; that fingerprint is how you tell one credential from another.

Find me, instantly

“Where am I and who is just ahead” is one call, however deep they are — and so is page 400. Both are a walk down a tree rather than a scan, so a ten-million-player board answers as fast as a hundred-player one.

Where these players stand
Among thesePlayerScoreOverall
1tess-1b071,902,64096
2mira-3f211,284,500412
3bo-7e551,284,500413
4koa-88de984,1203,119
5rhys-c440512,30021,884

Not on this board yet: finn-9a12

Overall is out of the 1,204,918 players on this board. One call, whoever you ask about — Plany stores no groupings, so a guild, a lobby or a friends list is the same read. Every rank here came from the same load of the board, which is what stops two of them coming back fourth.

Seasons that end cleanly

Close a season and open the next in one call. The board keeps its name, its id and everyone’s access — no migration, and no recreating anything.

Closing Season 4
Weekly — Season 4Ready

Window

1 June → 1 September 2026

Season open

Players ranked

1,204,918

Unchanged throughout

projects/arcade/locations/eu-west-2/leaderboards/weeklylb_8f3c21a0

Scores are being accepted. Every rank is exact and every one of them is live.

Friends lists, in one read

Ask for nine players and get both ranks back: among themselves and on the whole board. All from one moment, so a lobby can never show two people in the same position.

Cheats come off

Remove a score and everyone below moves up correctly, straight away. Rank is computed rather than stored, so there is nothing to recompute and nothing that can be missed.

What you get

  • Exact ranks, dense and unique, at any size
  • Reads PostgreSQL, MySQL, MongoDB or your own endpoint
  • Top X, a player’s position, and the window around them
  • Guild, region and season boards without a board per filter