Everything you have shipped is request, wait, render. The work you are heading into is token by token and tool call by tool call, over minutes, behind somebody else’s reverse proxy, for a user who will close the tab halfway through. That is not the same application with a nicer loading animation — it is a different set of failure modes, a different state model, and a different set of things the user is allowed to do while it runs. This course drills that difference, starting at the wire and working up to the render loop.
Start lesson one: The wait is the interface →
This course is being written as you work through it. The first module is ready; ask your teaching agent for the next one once the chatbot is actually streaming and you have read the raw event log with your own eyes.
What is actually travelling between the model and the browser, and what carries it there intact.
What to put on screen when the answer is 40% arrived and might still be wrong.
Stopping, retrying, resuming and correcting — the parts nobody demos.
Everything between a working stream and a stream other people can rely on — the infrastructure in front of it, the run that outlives one connection, and the ways it ends badly.
Every claim on these pages links to its source. If a source looks wrong or out of date, check the resource list and tell your teaching agent — the course is meant to be corrected.