Changelog
What we shipped, in plain English. Beta testers, you'll recognize most of it. The big stuff appears here first ; small bug fixes are batched into a "Polish & fixes" line so the list stays readable.
August 7, 2026
Rankings now require a minimum volume
Until today, a player who took one 3-pointer and made it sat at the top of the 3P% leaderboard, at 100%. Every table and every chart on the site now applies a qualification floor before ranking anyone.
Added
- A minimum volume, by stat — to be ranked, a player needs at least half the games her team has played (never fewer than 5), plus a per-game floor that depends on the stat : 12 minutes for anything built on possessions, 5 field-goal attempts for FG% and TS%, 1.5 attempts for 3P% and FT%. Those shooting floors are the official WNBA minimums converted to a per-game basis. Full detail in the glossary.
- A Qualified button — in the chart toolbar of every Players and Team page, on by default. One click shows everyone again.
- Player names on charts — the Names toggle, and a Top N selector, are now on the League and Team pages too, not just Players.
- The glossary went from 32 entries to 51 — every advanced stat on the site now has a definition. New : a « Reading a column name » section that explains the Off / Def / Opp / Net prefixes once, so you can read a table you've never opened. Also added : the Net family, NetPoss, 3PLuck, AST/TO, Assist Ratio, %TmFGM AST, On-Ball / Off-Ball, catch-and-shoot vs pull-up threes, average shot distance, layups, BLK/PF, charges and fouls drawn, and where points came from.
- Honest caveats where they matter — On-Ball% and the catch-and-shoot split are estimated from play-by-play, not tracking data. Both entries now say so, and say how far off they can be.
Changed
- Percentiles have moved — all of them. The small coloured number under each value is a rank against other players, and that population just lost its noise. If you had noted a rank somewhere, expect it to shift. This is a correction, not a regression : the comparison is now against players who actually have a season.
- The Profile radar is the biggest beneficiary — it was comparing every player against a pool where more than half had no meaningful sample on shooting stats.
- The Shot Zones glossary entry was wrong — it described three buckets with the rim at 4 feet. There are six zones, and the rim is 3 feet. Corrected, with the real boundaries.
- NetPoss now reads on one scale — it was centred on zero on player and team pages, but shown around 100 on the league table. Same name, two scales. Everywhere it is now centred on zero, so positive means a genuine possession edge.
Removed
- STOP% — it claimed to be Dean Oliver's stop percentage but was computed as
(200 − DRtg) / 200, a straight rescaling of defensive rating. It carried no information DRtg didn't already give you, under a name that promised otherwise. Read DRtg instead. - PIE — the column was offered in the chart picker but the value was never computed. It plotted nothing.
Fixed
- Sorting a Players table by clicking a column header — it updated the arrow but never reordered the rows. Long-standing, found while testing the above.
- Four columns sorted on nothing — AST:USG, BLK/PF, TS% and eFG% named a field the table row didn't carry, so clicking those headers did nothing at all. Sixteen headers across the Players and Team pages, WNBA and NBA. The same four columns also refused to plot on a chart, for the same reason.
- DefFTR wasn't chartable — the column existed everywhere except in the chart's stat catalogue.
- Charts came out empty whenever fewer players were plotted than the Top N setting — axes showed NaN and no points at all.
- Generational suffixes in chart labels — a point for Ron Harper Jr. was labelled simply « Jr. ».
- Axis graduations on tight scales — a stat ranging from 1.20 to 1.50 displayed « 1.3 » three times in a row.
July 6, 2026
The NBA lands on Metrics
Added
- Full NBA coverage, 2020-21 → 2025-26 — six seasons of play-by-play-derived advanced stats, regular season, play-in and playoffs. Same engine, same metrics, same tabs as the WNBA pages : League, Teams, Players, Games, and per-team / per-player / per-game detail pages.
- Play-by-Play NBA — the video playlist tool you know from the WNBA side, pointed at the NBA. Pick a season, a team, a player and a play type ; get every matching play with video.
- NBA in the header — the nav now carries three league tabs (WNBA / NBA / NCAA), each with its own dropdown.
One heads-up : on the 2025-26 season, the upstream video index is currently unreliable on their end, so the Play-by-Play tool may fall back to the last-10-games mode more often than usual. Earlier seasons are unaffected.
July 5, 2026
Stats workshop — ratings everywhere, AST:USG, smarter Profile radar
Added
- OffRtg / DefRtg columns everywhere ratings were missing — LEAGUE Net tab, PLAYERS & TEAM Overall + Net tabs, PLAYER Overall + Net tabs, and every Lineups view. At the player level these are individual Dean Oliver ratings (points produced / allowed per 100 possessions the player uses), not the team's on-court score.
- AST:USG, a new ratio (AST% ÷ USG%) that reads as playmaker-vs-scorer profile at a glance. In the Offense and Playmaking tabs, and in the GAME box score. Definition added to the Glossary.
- USG% and TS% in the Playmaking tab — creation volume and efficiency side by side, no more tab-hopping.
- AST% in the GAME box score Playmaking tab, computed per game with the Basketball-Reference formula.
Improved
- Profile radar rebuilt. Each of the 6 axes (Scoring, Playmaking, Rebounding, Defense, Efficiency, Volume) now blends several stats — the axis value is the average of their league percentiles within the player's position group — instead of mapping one stat per axis. TOV% enters inverted, so high = protects the ball.
- ★ Career radar card. Players with 2+ seasons get a career card at the front of the Profile grid, with percentiles weighted by minutes played. One glance = the career-long identity, then season by season.
- Trimmed low-signal columns : Avg Dist is gone from Shooting / Opp Shooting (the 7-zone breakdown tells the story better), and Opp FT% / DefFTR left the PLAYERS Opp Shooting tab (opponent free-throw shooting isn't a player skill).
This round came straight out of a stats workshop with one of our beta
testers — thanks Ghis. Keep the ideas coming via the Account form or
Discord #beta.
June 17, 2026
Data pipeline hardening — pages stay fresh, even on rough mornings
Improved
- Stats update within the hour on game days, every page. Until now the morning data refresh covered the league-wide tables fine, but per-player and per-team pages could lag a full day behind on a late game. Now the hourly catch-up rebuilds every page that depends on a new game's play-by-play — player overall, team trends, lineups, rotations, shot charts, the lot. By 9 AM Paris everything you see reflects last night's box scores.
- Cleaner, faster morning warmup. Behind-the-scenes : the daily compute now correctly recognizes when a cache is already fresh and skips it instead of recomputing — saves a few minutes off the morning refresh window.
- Player and team photos lighter. Headshots and team logos now stream as WebP when your browser supports it (~3× smaller than the PNG equivalent).
Fixed
- ~3-hour outage in the morning where the games calendar, LEAGUE sidebar, and some game-summary cards briefly showed empty or stuck on "Loading". An upstream WNBA security filter tightened overnight ; our requests started looking too much like a script. Fixed by sending fully browser-realistic request headers + a guardrail that refuses to cache an empty response if the upstream is down. Apologies to the testers who hit it.
- Caitlin Clark's 2026 row stayed stuck at GP=12 on the PLAYER page after her 13th game, until the next morning. Cause : the hourly refresh was only invalidating part of the derived cache stack ; per-player aggregates kept yesterday's snapshot. Now the refresh covers everything end-to-end. Same fix benefits every player and every team page.
- One game card (Toronto @ Indiana) stayed on "Loading" all day. The card was reading a sentinel value written during the outage. The recap reads the underlying box score directly now and never freezes on an error placeholder.
June 16, 2026
Team Trends overhaul + faster game-day updates
Added
- On / Off impact panel on the TEAM page Trends section. Pick a stat (NetRtg, TS%, ORB%, DRB%, TRB%, AST%, STL%, BLK%, TOV%) and see, for each player, how the team performs when she's on the floor vs. off it.
- Per-column stat selectors : the left column drives the On/Off panel, the right column drives the minute-by-minute usage heatmap. Independent, makes it easy to read two different stories side by side.
- Operator dashboard (
/admin) got time-series sparklines on every health card (CPU/RAM/disk, workers, 5xx, cache size, visits, signups) + an Alerts panel with 6 rules that email us if something breaks.
Improved
- LEAGUE STATS now updates within the hour on game days, even for West Coast games that end after our morning data refresh. No more "Minnesota played last night but their stats are still from yesterday".
- NCAAW player pages load instantly. The Season Trends sparklines were doing a 11k-file scan on first visit ; they're pre-warmed now.
- Bars on the new On/Off panel use a fixed 0-100% scale so values read absolutely. Before, a 60% TS% looked huge because the bar was scaled to the roster's max.
Fixed
- TRB% on the On/Off panel was stuck at 50% for every player (= maths bug, summing two complementary percentages). Now computed from raw rebound counts.
- DRB% read the opponent's defensive rebound % instead of ours. Inverted, now correct.
- Two columns on Trends (On/Off + Heatmap) are now pixel-perfectly aligned. There was a 4 px drift between rows.
- Page Trends no longer crashes if the lineups payload arrives in an unexpected shape — graceful "no data" message instead.
June 10, 2026
Closed beta opens
Added
- Apply for beta access form on the landing page. Tell us briefly what you make, we review and send an invite.
- Sign in via magic link — no password. Click the link in the email, you're in.
- Page
/account— your tier badge, account info, sign-out, plus a built-in feedback form (4 categories : bug / suggestion / love / general). Everything lands in our admin inbox. - Newsletter on the landing page, with double opt-in (we send a confirmation email so you keep control).
- Discord onboarding popup right after your first sign-in, with the invite to the private tester server.
Improved
- Header redesign — cleaner pill buttons across the app, burger menu (☰) on the top right with Account / Sign out, tier badge next to your name.
- Site is now entirely in English — the few remaining French labels are gone.
Late May → early June 2026
NCAAW pages + site-wide refresh
Added
- NCAAW player pages — full multi-tab interface : Basics, Advanced, Shooting, Profile radar (6-axis position-bucketed), Game Log, Season Trends sparklines. Same Glossary as WNBA, with NCAAW-specific notes where the data differs.
- NCAAW Players index uplift — filters by Position, Team, Class (Fr/So/Jr/Sr), Class column, and shot-zone heatmap previews.
- Player Compare modal with a real type-ahead search (replaced the rough prompt-based picker).
- Lineup compatibility — pair level on the PLAYER page : see chemistry stats for every two-player combo a roster has tried.
- Documentation at /docs covering every panel on every page, plus how to use the Play-by-Play tool.
Improved
- CHARTS tool rewritten with a single source of truth — stat definitions now live in one place, so adding or fixing a stat updates every chart at once.
- LEAGUE table got Standings details (Top5 / Bot5 / Conf splits), Defense opp stats across all panels, Adjusted toggles everywhere.
- Play-by-Play playlist polish : smooth scroll, fade gradients on long lists, ability to sort by date.
Fixed
- Many small bugs across PLAYER (info card data, career milestones, shot chart layout), LEAGUE (TOV sum, FORM dots, hover overflow), and PBP (year change resetting player selection). Beta testers have been pointing them out in feedback ; thank you for that.