← All work
DirtyBoat Charters, Charter website + booking engine + CRM + AI chatbot

DirtyBoat Charters

We built the whole boat, not just the website.

  • Web Design
  • Search
  • Content
  • Social Media
  • Charter / Marine
dirtyboat.com (opens in a new tab)

From FareHarbor and a phone that never stopped To our own booking engine, CRM and AI first mate.

The problem.

A charter lives and dies on the phone. Questions come in by text, call, Instagram and Facebook all day, usually while the captain is offshore with a fish on. Bookings ran through FareHarbor, which owned the checkout and the customer list. Split charters only fill when people can see which seats are still open, and nothing showed that. And Google ranked the old site around page four for the searches that matter.

The client.

DirtyBoat is Captain Kit Carson's charter out of Robbie's Marina in Islamorada, the Sportfishing Capital of the World: sailfish, mahi, tuna and daytime swordfish. It is also where we test everything before we offer it to anyone else. Since February 2026 we have built it a new website, its own booking engine, a back office that runs the business, and Captain Jack, an AI booking mate that answers at 2am so the captain can sleep.

The idea.

A charter does not lose bookings on the water. It loses them in the hours the captain cannot answer the phone.

What we did.

We split the work into three pieces that share one Supabase database. The website (dirtyboat.com) is a fast Astro build with a page for every species and trip type, plus fishing reports updated morning, midday and evening. The captain never opens a laptop for those: he records the report on the boat and sends it on Telegram, and OpenClaw, our AI agent, turns it into the day's captain's log and publishes it to the site. Once that log is live, a job on our server turns it into the day's TikTok: local Qwen writes the cards and picks archive photos, Claude checks every claim against the report and the NOAA forecast, and it only posts when every check passes. The booking engine lives in the CRM at crm.dirtyboat.com and is served through the website, so checkout stays on dirtyboat.com: pick a trip, see real open dates and split seats, pay a deposit or in full through Stripe. The CRM runs everything after that: calendar, manifest, crew schedule and pay, gift cards and promo codes, one inbox for SMS, email, web chat and Facebook and Instagram messages, reminders before the trip and review requests after it, fuel invoices matched to each trip, and the federal eTRIPS logbook filing. Captain Jack sits on every page. He reads live availability, quotes prices with fuel, checks the NOAA marine forecast, sends a booking link for the exact slot, and when a question needs a human he pages the captain and steps aside.

What happened.

The site grew to 443 pages, with daily captain's logs that give Google something fresh every day. In the four weeks from August 9 to September 5, 2026, the site earned 987 clicks from Google, up from 603 in the same four weeks of 2025, and its average position moved from 34.4 to 10.2. In the four weeks to October 3 it sat at an average of 1.2 on Google for "fishing report islamorada" and 2.3 for "private boat charters islamorada", and inside the top five for "fishing charters islamorada" and "best fishing charters islamorada", in Islamorada, the Sportfishing Capital of the World, where every dock is full of charter boats chasing the same searches. Every booking now runs through DirtyBoat's own checkout and is tagged with where it came from (Captain Jack, the website or Robbie's), so the captain can see which channel actually fills the boat.

The takeaway.

Off-the-shelf booking tools are fine until you want to own your customer. Build the boring parts once, wire them together, and the AI has real data to work with instead of guesses.

How it was built.

The website

Framework
Astro 7, static output, 443 pages
Styling
Tailwind 4
Content
Daily captain's logs, archives by species, conditions and year, gear reviews
Fishing reports
Recorded by the captain, sent on Telegram, written up and published by OpenClaw
Daily TikTok
Built from the day's report: Qwen writes, Claude fact-checks, posted through Genviral
Live data
Open split seats pulled from the CRM, cached for five minutes
Checks
Playwright and axe tests, Lighthouse on every deploy, a strict content security policy
Hosting
Netlify

The booking engine and CRM

App
Astro 7 server-rendered with React 19, at crm.dirtyboat.com
Data
One Supabase database shared by the site, CRM and chatbot
Payments
Stripe Checkout, deposits or pay in full, saved cards, refunds and gift-card credit
Scheduling
90 days of slots built nightly, blackouts, overlap checks, Google Calendar sync every 15 minutes
Messaging
Twilio SMS, SendGrid email, web chat and Facebook and Instagram messages in one inbox
Back office
Crew pay, fuel invoices matched per trip, federal eTRIPS logbook, daily digest at 7am

Captain Jack and the safety net

Website chat
Qwen 3.6 35B on our own DGX Spark, with Claude Opus 5.5 as the fallback when it is down
Text messages
A Claude booking agent that answers SMS and escalates to the captain
What he can do
Live availability, prices with fuel, NOAA forecast, season rules, a booking link for the exact slot
House rules
Never guesses seats or dates, never invents urgency or reviews, never makes a safety call
Handoff
Pages the captain on Telegram and pauses, so a person can take the chat
Security
A multi-agent security audit with every P0 and P1 fix re-verified, row-level security, secret scanning, an auth test every six hours

What we still do.

Client since 2026.

  • Fishing reports and captain's logs, from Telegram to the site through OpenClawEvery day
  • A TikTok built from that day's fishing reportEvery day
  • CRM, booking engine and Captain Jack upkeepOngoing

The Catch.

Google clicks, same 4 weeks
603 → 987
Average Google position
34.4 → 10.2
Google position, "fishing report islamorada"
1.2
Google reviews, 5.0 rating
373

Measured by: Google Search Console (Aug 9 to Sep 5, 2026 vs the same weeks of 2025; keyword positions Sep 6 to Oct 3, 2026), the October 6, 2026 site build and the Google review count shown on dirtyboat.com.