David Blatt was a misunderstood coach.
A EuroLeague legend who came to Cleveland.
He won a conference title and got fired midway through a 30-11 season. He deserved better.
I can't keep this up.
BLATBLAT has nothing to do with David Blatt. It has everything to do with blah blah (talking nonsense) and statistics.
Here we are with BLATBLAT.
BLATBLAT is one half statistics and one half opinion, subjectivity. It's a reason to nerd out about APIs, statistics, data visualization, and making nonsense storylines based on tangible and intangible, or loosely tangible, factors that impact each game.
Evaluates individual player readiness and risk factors based on schedule, workload, and history.
Measures team-level momentum, situational patterns, and home/away performance splits.
Pulls season averages, league leaders, and advanced metrics for comparative analysis.
Ingests roster moves, contract details, and depth chart changes from outside data sources.
The NBA makes statistical data available through their API endpoints. Thousands of data points per game, per player, per season. The richness of this data is what makes projects like this possible at all.
No definitive, machine-readable record exists of whether a player has retired. A player might not play for two years and then come back. This makes in-season roster composition analysis surprisingly tricky -you have to infer status from absence.
Players can receive money from multiple teams simultaneously through buyouts, stretches, and traded contracts. Tracking total compensation requires cross-referencing cap sheets, transaction logs, and contractual amendments across multiple sources that rarely agree.
In-game commentary routinely highlights patterns that have zero statistical backing. "This team always plays well on Tuesdays after a loss." BlatBlat leans into this subjectivity on purpose -it is a feature, not a bug.
Third-party sports APIs go down without warning. Rate limits change. Endpoints get deprecated overnight. Building a resilient data pipeline means always having a fallback source and never relying on a single provider.
Every source formats player names, team abbreviations, and dates differently. "PHX" vs "PHO" vs "Phoenix Suns". The unglamorous work of mapping and normalizing these inconsistencies is where most of the engineering effort goes.
The NBA doesn't crown a league leader in shooting percentage until players hit a minimum number of made shots. The thresholds: 300 made field goals for FG%, 82 made three-pointers for 3PT%, and 125 made free throws for FT%. Early in the season, a bench player who goes 3-for-3 could technically "lead the league" at 100% — but the NBA doesn't count it. This means there's a dead zone in the first 30–40 games where commentators avoid talking about the best shooter in the league, because no one has qualified yet. Once enough volume players cross the threshold — usually around late December or January — the leaderboards start to mean something.