Live product · 8-month build

Yacht Transport Platform

Full-stack logistics platform for global yacht transport. Automated broker integrations, real-time vessel tracking, route optimization across 15+ ports, and a quoting engine that turned multi-day email chains into 60-second workflows.

TypeScriptNext.jsBunPostgreSQLIoTTailwind
Overview

What we built

15+
Ports integrated

Miami, Fort Lauderdale, Antibes, Palma, Newport, and more

8 mo
Build timeline

Solo full-stack development from wireframe to production

Sub-60s
Quote turnaround

Down from 2-3 days of broker email chains

Engineering

Architecture & Stack

The platform is a monorepo split into three layers: a Next.js web front-end for brokers and customers, a Bun API server handling real-time pricing and booking negotiations, and a PostgreSQL database with Prisma as the schema layer.

  • Quoting engine — Dynamic pricing based on vessel dimensions, route, seasonality, and carrier availability. Caches computed rates for 24h to reduce repeat calculations.
  • Broker integrations — REST API connections to carrier networks for live vessel positions and berth availability. Normalizes heterogeneous data into a unified schema.
  • Route optimization — Combines geospatial port data with carrier schedules to suggest the most cost-efficient or fastest delivery path.
  • IoT telemetry — LoRa sensors on transport cradles stream temperature, humidity, and shock data to the platform via MQTT. Alerts fire on threshold breach.
Problems

Challenges & Tradeoffs

Yacht transport is an analog industry. Every broker runs their own spreadsheets and email templates. The hardest problem wasn't technical — it was designing a system that reduced friction without forcing brokers to abandon workflows they'd used for decades.

Data normalization

Each carrier exposed different fields, units, and rate structures. I built a schema adapter layer in TypeScript with runtime validation (Zod) that normalizes any carrier response into a unified quote format.

Real-time constraints

Port schedules change hourly. Instead of polling, I used WebSocket connections for broker dashboards and background workers (Bun cron jobs) for rate recalculation.

Offline-first broker client

Many brokers work on boats with intermittent connectivity. The mobile view stores draft quotes in localStorage and syncs when back online.

Pricing accuracy

Early models underestimated seasonal surcharge variations by 15-20%. I added a feedback loop where confirmed bookings retroactively adjust the pricing weights.

Results

Outcomes

The platform is now the primary booking tool for the transport operation. Brokers who previously managed routes in Excel now log in daily. The quoting engine accuracy improved from rough estimates to within 5% of final invoice cost after the feedback-weight adjustment.

  • Email volume dropped by an estimated 70% — quotes, scheduling confirmations, and tracking updates are now automated notifications.
  • Customer conversion improved because prospects could generate a binding quote without a 48-hour back-and-forth.
  • Operational visibility — management now has a single dashboard tracking every vessel in transit, delayed, or at berth.

See the live platform

The full product includes additional features not covered here: carrier management, audit logging, multi-language support, and a dedicated customer portal.

Visit yachttransport.ai