HomeAboutWorkServicesPluginsMonitorBlogContactstart_a_build
Florida Keys· 6 min read

DirtyBoat: What The Word Actually Points To Now

DirtyBoat is a 42 foot Liberty Express at Robbie's, a booking engine, an AI agent, and a working case study for every site I build.

KM

Kit Mobley

Islamorada, FL

DirtyBoat: What The Word Actually Points To Now

One word, four things it points to

If you type “dirtyboat” into Google, you land in a strange little cluster of results. There is a boat. There is a booking site. There is an AI agent that answers charter questions at 2am. There is a codebase I keep rewriting. All four are mine, and all four use the same name for a reason.

DirtyBoat is one word. Capital D, capital B. I have watched writers, tournament directors, and one very confused magazine editor try to make it two words. It has never been two words. The name got stuck on a 1995 32 foot Blackfin Combi Express that Joe Sabe bought back in the day, and it stuck harder every year after that. We were going to rename it. We did not. The charters kept booking.

That is the short version of how a word becomes a brand by accident.

The boat that carries the name now

DirtyBoat 2.0 is a 42 foot Custom Liberty Express, full tournament rigged, slipped at Robbie’s Marina at Mile Marker 77.5 in Islamorada. Offshore only. We do not run backcountry, we do not run the bay, we do not run bridges, we do not run flats. If you want a poling skiff and a tailing redfish, I will happily send you to three captains I trust. If you want to sit on the humps in 800 feet of water and try to keep a blackfin out of a mako’s mouth, that is the boat.

The move from a 32 Blackfin to a 42 Liberty is not a small one. It changed what “DirtyBoat” meant on the water. Longer range. Better ride in the afternoon chop that builds every day around 2pm on the Atlantic side. Room for real tournament tackle and real tournament crew. The name got carried onto the new hull because the customers already knew it. Rebranding a boat that had a decade of tournament results attached to the transom would have been vanity.

The word became a stack

Somewhere around 2018 I stopped thinking of DirtyBoat as only a boat. Every piece of software I wrote for the charter side of my life ended up under the same name. The booking flow. The customer database. The trip reports. The photo pipeline that pulls the day’s catch shots off my phone and drops them into the right customer folder. The AI agent that reads inquiries at night and drafts a response with the correct trip type, price, and available date.

The stack, if you want the honest inventory:

  • Frontend: Astro, Tailwind CSS
  • Data: Supabase and Postgres
  • Payments: Stripe, direct, no middleman
  • Hosting: Netlify
  • Email: SendGrid
  • AI: Anthropic Claude as the primary model, with Gemini and OpenAI when a specific job calls for them

The booking engine on dirtyboat.com is not a FareHarbor embed. FareHarbor is what I set up for affiliate sites like Miss Penny Charters and the Robbie’s affiliate network, which has moved north of $7.1M in online revenue since we started that partnership in 2016. For my own boat, I wrote the booking layer against Stripe directly. Deposit rules, weather cancellation logic, tournament blackout dates, and the way I actually price a shared charter versus a private are all in code I own. When something needs to change because the fuel price moved or the season shifted, I change it in a file, not in a support ticket to a SaaS company in Denver.

Why the AI agent is on the same domain

The DirtyBoat AI agent is the piece people ask about the most. It lives on the charter site and answers questions from prospective customers around the clock. It knows the boat. It knows what species we target in July versus January. It knows the deposit is non-refundable inside 72 hours except for a Coast Guard small craft advisory or an NWS marine warning. It knows I am on the water most of the day and text is faster than email.

It is not a chatbot in the marketing sense. It is a small, tightly scoped Claude agent with access to my calendar, my pricing rules, and a short set of tools it is allowed to call. If a question is outside its scope, it says so and hands off to me. If it can book, it books.

I built it because I was losing charters at night. A tourist in Miami on a Tuesday, planning a Thursday trip, will not wait until 8am for a quote. By 8am they have booked with someone in Key Largo. That gap was costing me real money. The agent closed the gap. It also became the reference implementation I show every charter captain client who asks me what AI is actually good for on a small business site.

What the name teaches me about the client work

Working on my own brand under the same word for a decade has taught me things that I bring to every client site I build. Big Beard Boats, Islamorada Luxe Charters, Just Cuz Fishing, Hungry Tarpon, Heeter’s Custom Pools, ST Sparks Construction, Alissa Whittle’s fiduciary practice in Tavernier. Different industries, same lesson set.

A brand name that has stuck for a decade will outlast three website redesigns and four hosting providers. You should build like that is true. Own your domain. Own your data. Do not put your booking flow inside a platform you cannot export. Do not put your customer email list inside a form provider that will raise its price in year three. When I moved DirtyBoat off its old stack, I moved it because I could. Every table, every image, every past customer came with me.

The other lesson is smaller and meaner. If you have a name that works, do not touch it. Do not modernize it. Do not add an “and Charters” to the end. Do not put a tagline under it. Let the word do the work.

If you searched “dirtyboat” and landed here

You probably wanted one of two things. Either you want to book a trip on the actual boat, in which case dirtyboat.com is where the booking engine lives and (305) 209-5594 is the charter line. Or you found the name through the web development side and you want to know if the same person who runs the boat also builds the sites. Yes. That is the whole point of this domain being a separate thing from the charter domain.

Text me at (954) 682-9551 for the web work. That number goes to the developer hat. The charter number goes to the captain hat. Same person, same word on both boats.