From Terminal to Browser: Giving My Multi-Agent Chatbot a Face
I wrapped my multi-agent chatbot in Docker and FastAPI so I could use it through a simple browser interface.
My multi-agent chatbot had plenty to say, but it still expected me to open a terminal before it would speak.
Why the chatbot needed a home
The assistant worked from the command line, which was fine for development. It was less inviting for anyone who wanted to try it.
I wanted a repeatable setup and a small browser interface. That led to two practical decisions: package the application with Docker, then expose it through FastAPI.
Docker in plain English
Docker packages an application with its code, libraries, and settings into a container. The container gives the project a predictable environment on a laptop, a server, or a cloud machine.
The lunchbox analogy is useful: the application carries the ingredients it needs, so it is less dependent on what happens to be installed on the host machine.
Why I started with Docker
I did not want the first user experience to be “install seventeen packages and cross your fingers.” Building one container meant the multi-agent system could start with the same dependencies each time.
That removed several common sources of friction: version conflicts, missing system tools, and the familiar “it works on my machine” problem.
Connecting the container to a browser
FastAPI became the bridge between the browser and the agents. The container runs the multi-agent logic, while FastAPI accepts a message, passes it into the workflow, and returns the response.
The front end is intentionally simple: a page with a chat box and a send button. I used Gemini to help generate the first version of the HTML, then adjusted it to fit the project.
The result
The final setup is small: Docker provides a repeatable environment, FastAPI provides the HTTP boundary, and the browser provides a more approachable interface.
The first time I watched the agents collaborate through the browser, the project stopped feeling like a terminal experiment and started feeling like a usable tool.
This is a natural pause point for the series. The assistant now has a face, a reliable home, and a foundation I can continue improving.