Why?
Because I want one single chat app for every model and every conversation.
But aren’t there already thousands of apps like this out there? That’s true. I used Open WebUI for a long time, but it’s really heavy on both the client side and server side. It’s bundled with local model support, so that makes sense. But I don’t need all that. I just need a client that stores all my conversations and lets me chat with hosted models via API.
There are some that resemble this, but they are either not open source, too feature-heavy, or I just don’t like the UI.
How?
I came across webclaw, which is a simple client for OpenClaw. I liked the UI and decided to extract the frontend UI and write a new backend in Go for it.
Kairos keeps the interface minimal while still making long conversations easy to navigate.
Current state
I kept working on Kairos after the first version, and it has reached a usable daily state for me. It still stays intentionally lightweight: a chat client for hosted LLM APIs, not a full local-model platform.
The important change is tool calling. Kairos now has search tools and math tools, which is enough for most of the questions I ask day to day. Search covers the cases where the model needs fresh or external information, and math tools cover the small calculations and exact checks that language models are bad at doing from pure text.
That combination makes it good enough that I actually use it daily now, instead of only treating it as an experiment.
A newer Kairos chat with search tools enabled. Tool calling made the app much more useful for everyday questions.