Every callsign gets a page
The ledger has been quietly counting your kills, ships, medals and streaks for a long time. Now there's a page that shows it off — one you can paste in chat after a good night.
What's on the card
Every pilot lives at /pilot/<callsign>. The page lays out the full record: the medal case — every ribbon, with a progress bar ticking toward the ones you haven't earned yet — stat tiles for K/D/W, best round and best streak, your rank on each leaderboard, your favourite mount (the aircraft you've scored the most kills in), and a 16×16 kill heatmap painted over the island disc, so you can see at a glance whether you're a furball-over-the-ring pilot or someone who lurks the coast. Click any name on the Hall of Fame and you land on theirs.
New data, on the hot path but cheap
Two of those — favourite mount and the heatmap — weren't
tracked before, so the kill handler picked up two O(1) map bumps: one to a
kills-per-aircraft tally, one to the heatmap cell under the
victim. Best round rides the round-end bookkeeping that already
awards wins. All three are keyed by the pilot's identity token in memory
and flushed to Postgres on the same 30-second cadence as everything else,
so a busy server isn't writing to the database mid-dogfight. With no
database configured they simply live for the process lifetime — the
same "it's a game, not a bank" contract the whole ledger runs on.
Public by construction
A profile is resolved by vanity callsign, not by identity token:
/pilot.json?name=Moss does a case-insensitive match over the
ledger (ties break to the most recently seen), and the token — the
private thing that actually owns the record — never appears in
a URL or a payload. Everything on the page is data the scoreboard and the
Hall of Fame already expose, just aggregated per pilot. It's plain
HTTP/JSON: no new client message, no event, not a single snapshot byte.
The shell is one static page that reads the callsign from its own URL and
fetches the JSON — crawlable, cacheable, and linkable.
It's the payoff for a lot of invisible bookkeeping: the paint you earned, the ace marker you fly under, the ribbons in your case — now there's a single address that gathers all of it, and it feels like yours. Weekly seasons are next; when they land, this page grows a shelf for the weeks you topped a board.