Your private AI Cloud

Shoal

Local-first AI that swims with you. Bring your own models, route work between agents, and keep every byte in waters you control.

Philosophy

Built on what you already have.

Three principles underneath. The rest of the system flows from those.

01Hardware

The fleet you already own.

Engineers' laptops, idle workstations, the old Mac Studios in the lab. Shoal puts them on shared duty without buying a single new accelerator.

Already on your network$0 spent
  • MacBook Pro M3×40
  • RTX 4090 desktops×8
  • Mac Studio M2 Ultra×4
  • Linux QA box×12
new accelerators0
Your boundary
  • modelslocal
  • promptslocal
  • conversationslocal
  • embeddingslocal
  • audit loglocal
  • outbound traffic0
02Local

Stays in your waters.

Models run on your hardware. Inference, embeddings, prompts, conversation history — none of it leaves the boundary you set, ever.

03Open

Speaks what they already speak.

OpenAI- and Anthropic-compatible APIs on the front. Plain Ollama, vLLM, llama.cpp, MLX on the back. Glue between parts you already trust.

Speaks
  • OpenAI APIdrop-in for clients
  • Anthropic APIdrop-in for clients
  • Ollamabackend
  • vLLMbackend
  • llama.cppbackend
  • MLXbackend
  • MCPtools
Architecture

How the current flows.

Three tiers, one protocol, your hardware. Add or pull a worker — the rest of the system never notices.

Your tools
OpenAI & Anthropic compatible
OpenAI SDKAnthropic SDKLangChainCrewAIHaystackZed
Shoal server
Auth · Dispatch · Queue · Audit
Secures and observes your private AI cloud.
Worker fleet
Ollama
Mac Studio M2 Ultra
llama-3.3-70b
vLLM
RTX 4090
qwen2.5-coder-32b
Ollama
Mac Mini M4
phi-4-14b
llama.cpp
Raspberry Pi 5
smollm2-1.7b
Get started

Start Shoaling.

One container brings up the server and dashboard. Point a worker at it from anywhere on your fleet.

$ docker pull ghcr.io/nitrictech/shoal-lite
$ docker run -p 3000:3000 ghcr.io/nitrictech/shoal-lite