Hippo: The Go LLM Client I Built Because AI Apps Need Memory, Budgets, and Tools
Mahdi Salmanzade
Co-Founder & CTO of CLRT
Most LLM libraries start with the wrong assumption. They treat calling a model as the hard part. It is not. Calling a model is easy now, because every provider ships an API and every framework ships a wrapper. The hard part is everything around that call: which provider should handle the task, whether it goes to the cloud or stays on the machine, what it actually cost, what happens when the first model fails, and how the system remembers what it learned last week. Mahdi built Hippo because he could see that layer clearly while most of the market was still admiring the model. That clarity, not the binary, is the point.
Hippo unifies Anthropic, OpenAI, and Ollama behind one interface, then adds the parts most clients skip: typed memory, cost-aware routing, tool calling, MCP support, privacy tiers, and an embedded interface for inspecting all of it. Read as a tool it is neat. Read as evidence it is more interesting, because the feature list is a map of every place a naive AI feature quietly breaks in production. The people who build the model call and stop have not yet hit those walls. The people who have hit them build something that looks a lot like this.
When a team skips the operating layer, it does not avoid the work. It grows the layer by accident. A provider wrapper here, a memory hack there, a YAML file nobody understands, a budget check buried in one code path, a tool loop copied from an example, a local fallback that only runs on one laptop. Each piece looks reasonable on the day it is added. Six months later the AI feature is not one system anyone can reason about. It is a pile of glue, and the person who wrote it has left. The rare skill is seeing that outcome from the start and designing against it, which is what naming memory, budgets, routing, and privacy as first-class concerns actually means.
Take memory, the place most AI products quietly fail. The common move is to throw everything into a vector database and call it memory. That is not memory. It is a search index. Real memory has shape: a working note that should decay in hours, an event from last month that should still be retrievable, a stable preference that should never disappear because it got old. Treating those as the same record is why so many assistants feel amnesiac one minute and cluttered the next. Hippo stores them as distinct typed kinds with their own decay behavior, and combines keyword recall with semantic recall while pulling in the conversation around a hit instead of one isolated line. None of that is exotic. It is simply what someone who has watched memory fail in the wild knows to build, and what someone who has not will not think to.
Cost and privacy are the same story. AI systems get expensive quietly, because one call is cheap but a background agent that retries, streams, calls tools, summarizes, and stores memory is a recurring bill nobody approved. Privacy fails the same way, treated as a paragraph in a README rather than something the system enforces. The non-obvious move is to make both of them routing decisions: a policy that says reasoning goes to a strong cloud model, private work stays local, cheap generation uses a small model, and nothing exceeds a set ceiling, all in one file you can inspect and change without editing code. Whether a given request should ever leave the machine stops depending on a developer remembering. It becomes a rule the router obeys. That is what it means to point AI deliberately instead of hopefully.
Trust is engineered the same way, in the open. When an agent does work, the final answer is the least interesting part. What you need to see is what it tried, which tools it called, what came back, where it failed, and what it cost, streamed as it happens rather than reconstructed from logs after a customer complains. A system you cannot watch is a system you cannot trust, and a system you cannot trust does not belong in front of a business. The model is the commodity in all of this. The operating layer is the difference between a demo that impresses a room and a system that survives contact with real users.
Anyone can call a model. The scarce thing is knowing where to point it, and the engineering to make it trustworthy once you do.
A deeper dive
Look closely and the depth is in the decisions a casual build never reaches. Memory split into working, episodic, and profile kinds, each with its own importance, timestamps, and decay. Keyword recall through FTS5 sitting beside semantic recall over stored embeddings, sized to stay fast at real volumes without standing up a separate search cluster. A local embedder so recall can run with no cloud key when the data is sensitive. Routing policy with fallbacks, privacy tiers, and hard cost ceilings, hot-reloadable so behavior changes without a deploy. Tools registered in-process and through MCP servers with reconnect logic, streaming that exposes the real flow, and the whole thing shipped as a single binary that binds to localhost and refuses to expose its controls on a network without an auth token. Each of those is a small judgment, and there are dozens more underneath them. The naive version skips every one and calls itself done, then spends the next year discovering why each one mattered.
This is exactly the gap where in-house AI efforts stall. Getting to a working demo is genuinely easy now, which is why so many teams reach it and conclude the rest is just polish. It is not polish. It is the operating layer, and it is most of the actual engineering: reliability when a provider degrades, cost that does not surprise you, memory that behaves, privacy that is enforced rather than promised, and enough visibility to debug an agent when it goes wrong in front of a customer. Hippo is one person's answer to that problem, built to ship rather than glued together, and it is proof of how CLRT thinks before a line of your system is written. The model is not the product. The judgment about where to point it, and the engineering that makes it trustworthy, is the product, and that is the part teams consistently underestimate until they are standing in the pile of glue.
Work with CLRT
Hippo is a glimpse of how we think about the layer that decides whether AI works in production: memory, budgets, routing, tools, and privacy, designed to be trusted rather than assembled from examples. That is the work CLRT does for businesses, the judgment about where to point AI and the engineering to make it reliable once you do. You do not need to build this layer yourself, and the teams that try usually learn why the hard way. Tell us what you are building, and we will architect the operating layer around it.

Mahdi Salmanzade
Mahdi Salmanzade is the Co-Founder and CTO of CLRT, building agentic systems, developer tools, and local-first AI. Reach him at mahdi@clrtstudio.com or on LinkedIn.


