Tool Calling as Interface
The interesting part is the loop: the model asks for tools, fetches scores, asks again for a box score, and returns data the interface can render as game cards.
After wrapping up my HCI class, I came back to this human-AI prototype and rebuilt the chat loop around local tool calling. The stack is Next.js with Ollama running gpt-oss:20b on an M4 Max.
I am less interested in chat as a transcript and more interested in chat as a coordination surface. In this version, the model can request tools, fetch NBA scores, call again for a box score, and hand structured data back to the UI.
The client renders that response as NBA game cards and box score views instead of leaving everything as text. I also show the intermediate steps, partly because the tool orchestration is the point of the prototype and partly because I want to see where the model is making decisions.











