DepthChartIQ program pages
Public profile pages for D1 men's and women's basketball programs on DepthChartIQ.

I built the pipeline that looks for each program's logo, coach photo and arena photo, and checks what it finds.
LSU, Auburn, Memphis, Princeton and Pacific are all Tigers, so the model that checks a logo has to read the school's name on it. A tiger alone doesn't say which school it is.
A search model finds the right Wikipedia page for each school, and that's all I use it for. In a test on five schools, it made up the image addresses nearly every time, so plain API calls fetch the real file and its license instead. The pipeline only copies an image onto DepthChartIQ's own storage when its license allows reuse, and it only looks for coach photos in sources that allow reuse.
A small, fast vision model reads each logo, including any words on it. If it isn't confident, a bigger model takes a second look. When a logo is just a tiger or a bulldog with no name on it, two of three other checks have to agree, such as the school's colors. If they don't, a person looks at it.
Going public in August
On August 10, 2026, I told the CEO the public pages would go up, and they went live between August 15 and 18.
The pipeline dated from May, when its first full pass took about 12 hours over 22 runs and cost $7.27. That pass shipped zero logos the checker wasn't sure of. In August the work went to what the May version didn't cover yet, and I merged 73 pull requests between August 12 and 15: the public pages themselves, the women's programs, arena photos and coach photos.
The CEO rebuilt the program profile as one page for signed-in and public visitors, and added the directory search. His notes on the search say "st johns" found nothing, because the apostrophe in "St. John's" split the name in two. He fixed that and added an alias table of 100 schools so "UNC", "Ole Miss" and "UMass" find their programs.
Stack
- Data
- Cloudflare R2
- Infrastructure
- Inngest
See also

Text mePaul Mikulskis
(617) 599-0775If this sounds like your situation, tell me what's going on.
This number usually answers in a minute or two, in my voice, and every conversation comes straight to me.
Text (617) 599-0775