07 Local intelligence
Private AI
Open-weight models on hardware you own, connected to the tools you already use, plus the serving, versioning and measurement a company needs before it can depend on them.
- Available as
- SaaS or Custom
- Hosting
- EU / EEA only
- Licence
- Open source throughout
- Handover
- Your repository
For a European company, the question with AI is usually jurisdiction rather than capability. A prompt containing an unreleased product plan, a patient record or a client’s source code is a data transfer, whatever the product calls it.
Ollama runs open-weight models on your own hardware, behind your own firewall. A single well-chosen GPU handles a team’s day-to-day drafting, classification, summarisation and code assistance without any request leaving your network.
What we build first
We size the machine to the models you need, install Ollama declaratively on NixOS, and expose an OpenAI-compatible endpoint on your WireGuard network so existing tooling works unchanged. Then we connect it to the places people work: editors, Redmine, internal search, and retrieval over your own document store.
Everything stays on your side of the firewall, so the compliance conversation is short and the monthly cost is electricity rather than tokens.
Making it dependable
Getting a local model running takes a fortnight. Making it something forty engineers rely on during a release week is a separate problem, and people tend to underestimate it. This used to be a separate engagement on this site; now it is the later stage of the same one.
Once the prototype works, adoption spreads. A second team wants a different model and there is only one GPU. Someone pulls a newer tag and last month’s prompts get worse without anyone being able to prove it. Retrieval indexes drift, and nobody notices until an answer cites a policy that was replaced in March. Then finance asks for per-team usage figures and there are none.
These are the ordinary operational problems of any shared service (capacity, versioning, measurement, rollback) applied to a component that happens to be a language model. So the second half of this engagement looks like infrastructure work.
Why it starts at a week
The first useful version can be done that quickly: a GPU, Ollama on NixOS and an endpoint on your own network. Everything after that is scoped against how adoption develops, and we quote it once we can see that rather than guessing at the start.
Where it falls short
Local open-weight models are not frontier models. For a large share of daily work, such as summarising, classifying, drafting, refactoring and answering questions about internal documents, the gap does not matter. For the rest, we help you decide clearly which work may leave your network.
The long-form case
Why we reach for these in particular: the comparison tables, the numbers, and the situations where we would tell you to pick something else.