A Blackjack Dealer Lives in the Last Game Card
Press and hold the “Last Game” date on a Ballpark Genius player page and it deals you more games, blackjack-dealer style. A tooltip escalates as you hold, “Release for 2 games…” then 3, then 4, wobbling harder and picking up more of the site’s gradient sheen at each stage. Hold past the last threshold and you bust, “You’re out!”, and releasing gets you nothing. To put it back, hold the headline card about 450ms and drag it down and right, it tracks your pointer 1:1 with a live translate and a fade, either flinging off on completion or springing back if you let go too early.

No product requirement asked for this. It exists because a “here’s your last game” card is a pretty flat surface for a site whose whole personality is built on doing more with a stat line than a spreadsheet would, and a card shoe was sitting right there as a metaphor once “reveal more games” needed a gesture.
The backend side is one additive query param: GET /players/:id/recent-game now takes limit (1-10, default 1), and the old single-game path just calls the new multi-game one with limit=1, so there’s no fork where the single-game and multi-game views could ever describe the same game differently. Both order by gameDate desc, gameId desc, so a doubleheader stays stable across renders instead of flickering between games on a re-fetch.
The one part that took real care: per-stat emphasis, which of the revealed games had the best or worst value for a given stat, is direction-aware, not a blind numeric max/min. A pitcher’s hits allowed, earned runs, and walks are worse the higher they go, the opposite of a batter’s hits or a pitcher’s own strikeouts. Get that backwards and the card cheerfully highlights someone’s worst outing as their best one, exactly the kind of bug nobody notices until a player’s actual worst game of the year gets a little gold star.
Timing took a few passes too. The bust animation, “You’re out!” collapsing away, originally finished and vanished before there was any real chance to read it. Tuned the whole hold sequence, 0, 1250, 2250, 2900, 3250ms per stage, until you can actually see each threshold land before the next one takes over.
It’s off by default in production, on everywhere else, waiting for something worth pinning it to, a Genius of the Day, an All-Star nod. Find someone’s page and add ?games=3 to the URL if you want to see the shoe without waiting for that. Happy dealing!