DepthChartIQ
DepthChartIQ helps basketball players choose a Division I program by projecting their minutes at each school, with a range around each number.

My first call with DepthChartIQ's founders was on a Monday in April. I started on its stack at 5:55 the next evening and called it done at 8:32 that night, with a GitHub organization, hosting, a database, secrets, a background worker, a web app and a model gateway in place. Every model behind the gateway had answered a real request.
No basketball data was in it yet. The database had one table, Post, which comes with the template, and it was empty. The real product was one founder's prototype, a Python app on Render that already ran on real player data, and I rebuilt it into a production app with billing in about nine weeks, from that Tuesday to Stripe going live at the end of June.
Today, merging a change to the main branch deploys it to whichever service it touched: the web app, a background worker, the service that runs the prediction models, the AI advisor or the blog. Every call to an AI provider still goes through the gateway from that first evening, and if a model fails, most calls move to one from another provider.
The advisor is Spotter, built for players and their parents, and the company leads with it now. I'm building the service behind it.
The founder behind the prototype builds the prediction models. He sends each new one over, and I build what it plugs into. Before the prediction service went live, I checked its answers against the model's own test results. Each prediction shows a calibrated range, and when there isn't one for a player, the app says so.
The CEO ships code
I set up the repo so I wouldn't be the only one who could ship on it. In the first week I wrote a skill, a set of written instructions for a coding agent, that sets up a new teammate's laptop. It tells the agent to "treat them as someone who has VSCode and nothing else," and before it installs anything, it says what the tool is, why this project needs it and what you lose if you skip it.
The next week, on May 7, the CEO merged his first pull request, a redesign of the company's public pages, and about three hours later I merged the first version of the rebuild. Testing that week also caught that the sign-in screens I'd built called the product "My Application" on 32 of its 40 signed-in pages.
He's merged his own pull requests since May, and in July he merged more than I did. He reviews his coding agent's changes before they go in.
Spotter
An AI advisor that will talk a player and their parents through a transfer or player-development decision. It's part of DepthChartIQ.
- Players and parents each get their own set of tools.
- It asks a player only for what it needs to answer.
- It marks anything it finds on the open web as unchecked.
- It won't send a model call anywhere but DepthChartIQ's model gateway, which I set up and run.
- For each answer, it looks up what its model calls cost in the gateway's ledger and stores that number.
- Languages
- TypeScript
- Models and agents
- LiteLLMPi agent SDK
- Infrastructure
- Fly.io
DepthChartIQ program pages
Profiles for D1 men's and women's basketball programs on DepthChartIQ.
- I built the pipeline that adds each program's logo and arena photo when it finds one it can use.
- A vision model checks the images.
Read the DepthChartIQ program pages story →

Public program directory, captured Sept 29, 2026.
- Data
- Cloudflare R2
- Infrastructure
- Inngest
Stack
- Languages
- TypeScriptPython
- Mobile
- Expo
- Models and agents
- LiteLLM
- Data
- Cloudflare R2
- Payments
- Stripe
- Infrastructure
- InngestFly.ioSentryOpenTelemetry
Parts of this product

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