COURT DNA — Basketball Player Style Explorer
Built a basketball tool to compare player seasons and explore shot charts across 30 NBA seasons.
2026
Why I built this
Basketball is something I naturally spend time thinking about, and comparing players is a big part of the sport. I wanted to build a simple way to pick a player, see what makes their game different, and find other players with similar styles.
Tools I used
- Python / Pandas: cleaned the data and checked player and shooting records.
- React / TypeScript: built the search, comparisons, and interactive court.
- SVG: drew the court, shot markers, and highlighted lines.
What I did
- Built tools to compare players across different seasons.
- Matched player records across sources and checked millions of shots against season totals.
- Added shot charts with makes, misses, hover stats, and deep threes from 30 feet or more.
- Added checks for missing data, incorrect records, and mismatched totals.
Some records have small data gaps. Player similarity uses only the stats included in the model.
Visual proof
Screenshots from the working app.

Explore a player’s season stats and playing style.

Hover over the court to see shooting stats.

Find players with similar statistical profiles.
Try COURT DNA
Choose a player to see their playing style.
LeBron James
2008-09 · CLE · SF
Primary Creator
What I learned
Matching records and checking totals mattered as much as building the charts.
What I’d do next
Add playoff comparisons after checking the playoff data.