Three thousand miles from a dealer, "let me look that up online" is not a plan. So there's a language model living on this boat that has read every manual aboard, watches every instrument, and needs no connection at all.
Nothing on this boat is fully autonomous. The AI is given a free hand to build, write and propose. It is never given a free hand to execute. Every script, every setting and every conclusion gets read by a person before it does anything that matters.
AI gets things wrong. It also gets stubborn. It will state something confidently, be corrected, and drift back to the same wrong answer twenty minutes later. On a boat that is not a quirk, it is a hazard — so assume it is wrong until you have verified it yourself.
Never let one compute a route, a course to steer, or chart data. That is what proper routing software and your own judgement are for.
Three layers, and only one of them needs Starlink
Ollama is the engine that runs a language model on your own hardware. Qwen is the model it runs. Both free, both open. No account, no subscription, and no internet. Mid-ocean it works exactly as well as it does at the dock.
The teacher. When there's a connection, Claude Code does the heavy thinking: writing the scripts, working out the protocols, building the tools. Then that work stays on the boat as files and configuration that run without it.
A Telegram bot is the handle on the whole thing. Message the boat from anywhere, get an answer back. Alarms come out the same way. Free, and it works on any phone.
Whisper turns a voice note into text and Piper turns the answer back into speech. Both open source, both running aboard. Hold the mic, ask the boat a question, hear it answer — with nothing leaving the boat to be processed.
The important bit is the direction of travel: the clever online thing teaches the local thing, and then leaves. When Starlink drops — and it does — what's left aboard is still useful on its own.
The honest hardware answer
A Pi is a wonderful thing. It cannot run a useful language model.
Language models are limited by memory bandwidth more than anything else. The model has to be read out of memory for every single token it produces, so what matters is how fast you can move gigabytes around. A Raspberry Pi simply doesn't have that, and a model small enough to fit is too small to be worth asking.
So the jobs are split by what each machine is good at. The Pi stays on permanently — it's low power, reliable, and it's the one holding the instrument data. The PC does the thinking, and only when it's needed.
Everything runs headless — no screen, no keyboard. Phone, laptop, tablet, the helm display: any of them can reach it over the boat's own private network. One service, many screens, nothing duplicated.
The part that makes it actually useful
A general-purpose model knows about sailing. It knows nothing about Exodus.
So it's being fed everything specific to this boat. Every manual scanned or downloaded as a PDF. Every wiring diagram. Photographs of every label, plate and serial number. Receipts, install dates, part numbers, what was replaced and when.
That turns a vague question into a precise answer. Not "check your impeller" but which impeller, which part number, when it was last changed, and what the torque spec is — because it has read the actual manual for the actual pump on this boat.
On top of the boat's own paperwork, it's being loaded with the books you'd want and never have to hand:
The goal is a model that is custom tailored to one boat — genuinely expert on this hull, this engine, this rig and this electrical system, rather than broadly knowledgeable about boats in general.
Anomaly detection, written as we go
Because everything on the boat already lands in Signal K, the AI has a single place to read from. Depth, wind, position, every battery cell, engine temperatures, tank levels, charger states — all one stream.
On top of that sit scripts and recorders, written with Claude Code and left running on the boat, looking for the things that matter: a reading that has drifted, a trend going the wrong way, a value that stopped arriving. A sensor that goes silent is a problem. Most systems never notice.
When something looks wrong it comes through on Telegram, wherever we are. And because the local model is the one doing the watching, that keeps working with no connection at all.
Less than you'd think
Ollama is free. Qwen is free. Signal K, OpenPlotter and Node-RED are free. Telegram is free. The only real costs are the hardware you already need aboard and — when you want the teacher — a Claude subscription.
For a system that has read every manual on your boat and never stops watching, that is a very good trade.