Projects

AI Agent System

NBA Roster Upgrade Agent

An LLM-driven roster recommendation and scouting workflow built around team need diagnosis, player strength vectors, and fit ranking.

Run demoGitHub placeholder

Original tools

A-C

need, strength, ranking

Recorded pool

236

eligible players in notebook

Mode

CSV-gated

live with NBA_DATA_PATH

overview

The backend wraps the original Colab-style NBA project. When the required NBA CSV files are available through NBA_DATA_PATH, it recomputes the original Tool A, Tool B, and Tool C pipeline. Without those CSVs, it displays the captured original notebook output for the published Warriors demo query.

role

Original project authoring and portfolio integration: exposed parsing, need diagnosis, player vectors, fit ranking, and scouting-summary outputs through a structured backend response.

backend runner

Run original project workflow

Calls /api/nba/run on the FastAPI wrapper at http://localhost:8000.

natural language query

Recorded mode only returns the original notebook output for this exact query. Live recomputation requires the missing NBA CSV files through NBA_DATA_PATH.

backend contract

Start the backend with uvicorn backend.main:app --reload --port 8000. The UI displays mode and provenance so recorded artifacts are clearly distinguished from live computation.

No backend result yet

Configure the inputs and run the backend to display the original project trace and outputs here.

architecture flow

Agent and model flow

The live pipeline trace appears in the backend runner after execution. This section shows the original project components that the backend wraps.

01

planner

LLM Parser

query JSON

Converts the natural-language roster request into team, goal, top-k, recent-game window, and availability filters.

02

analytics

Tool A: Team Need Diagnosis

need vector

Uses recent team statistics and league z-scores to compute a need-weight vector.

03

features

Tool B: Player Strength Representation

player vectors

Builds player strength vectors from box-score features and standardized skill indicators.

04

ranker

Tool C: Fit Ranking

fit score

Matches team need weights against player strengths to produce top recommendations and best-match labels.

tools and models

Components behind the demo

planner

LLM Parser

query JSON

Converts the natural-language roster request into team, goal, top-k, recent-game window, and availability filters.

analytics

Tool A: Team Need Diagnosis

need vector

Uses recent team statistics and league z-scores to compute a need-weight vector.

features

Tool B: Player Strength Representation

player vectors

Builds player strength vectors from box-score features and standardized skill indicators.

ranker

Tool C: Fit Ranking

fit score

Matches team need weights against player strengths to produce top recommendations and best-match labels.

example input

Recommend top 5 players for the Warriors to improve interior defense using the last 10 games. Only include players with at least 20 games and 18 average minutes.

final result

The original notebook demo recommends Anthony Davis, Rudy Gobert, O.G. Anunoby, Nikola Jokic, and Joel Embiid as the top statistical fits for the Warriors interior-defense request.

limitations

  • The original repo does not include the required NBA CSV files; live recomputation requires NBA_DATA_PATH.
  • The original ranking does not include salary, age, trade feasibility, or cap constraints.
  • The original project notes superstar bias in the statistical ranking.