DONTHI.DEV
HAM--:--:--
← ALL DISPATCHES

DISPATCH · MARITIME AI · 5 MIN READ

AI Systems That Run at Sea

Deploying LLM pipelines aboard cruise ships taught me things no cloud architecture blog ever will. Connectivity is a lie. Latency is religion. And your IT team is probably also helping manage the guest WiFi, the POS terminals, and someone's request about the pool bar.

This is what I learned building and deploying AI systems at sea with Xcontrol.

The environment is nothing like the cloud

In cloud-native architecture, you assume fast networks, reliable DNS, horizontal scaling on demand, and monitoring dashboards you can actually watch. None of that is guaranteed at sea.

Satellite bandwidth is shared, expensive, and deeply unpredictable. A vessel crossing the Atlantic might have excellent connectivity for hours, then drop to near-zero throughput in a busy shipping lane or during poor weather. Your AI pipeline, which happily does RAG lookups against a cloud vector store in staging, will start timing out. Your LLM API calls will fail. Your users will stare at a loading spinner.

The fix isn't clever retry logic. It's rethinking the architecture from the ground up.

What we actually built

Offline-first agent design

We built agents that operate in two modes: online (full RAG, live API calls, cloud LLM backends) and offline (local inference, cached knowledge, degraded-but-functional). The transition between modes happens automatically based on connectivity signals, and critically, users see a clear indicator of which mode they're in rather than silent failures.

Sync queues for data continuity

Any write operation, crew logs, operational records, agent memory updates, goes into a local sync queue first. When connectivity restores, items drain into the cloud in order. Redis Streams gave us exactly this pattern: durable, ordered, and resumable. We never lost a write even through multi-hour outages.

Latency-tolerant inference

At sea, a 3-second LLM response is fine. An 8-second response is a problem. We built aggressive caching at the retrieval layer, semantic caching of RAG results with TTLs tuned to the domain (operational procedures don't change mid-voyage; crew schedules might). We also moved some inference workloads to smaller, faster models that run locally when the latency budget was tight.

Onboarding the onboard IT team

This was harder than the technical work, honestly.

Shipboard IT staff are remarkable generalists. They manage everything from passenger-facing WiFi to bridge navigation systems to back-office ERP. They don't have time to become LLM experts. And when something breaks at 3am in the middle of the ocean, they need to triage it themselves, they can't always get Hamburg on the line.

We built runbooks designed for non-AI-specialists: plain-language decision trees, clear escalation paths, health-check dashboards that showed green/amber/red without requiring anyone to understand vector embeddings. We did remote onboarding sessions, created short video walkthroughs for the most common scenarios, and made sure every failure mode had an obvious recovery path.

The best AI system for a constrained environment is one that fails gracefully, communicates clearly, and never requires a PhD to debug at 3am.

What this taught me about AI architecture

If you're building AI for constrained environments, edge deployments, regulated industries, unreliable connectivity, I'd be happy to talk through what we learned. Reach out via email or LinkedIn.

← ALL DISPATCHES OPEN A CHANNEL →