HomeAboutWorkServicesPluginsMonitorBlogContactstart_a_build
Florida Keys· 6 min read

DirtyBoat: What the Boat Taught Me About Building Software

DirtyBoat is a 42 foot Custom Liberty Express out of Robbie's. It is also the reason my code got better. Here is what the boat taught me.

KM

Kit Mobley

Islamorada, FL

DirtyBoat: What the Boat Taught Me About Building Software

The boat and the codebase share a name for a reason

DirtyBoat 2.0 lives at Robbie’s Marina, Mile Marker 77.5 in Islamorada. She is a 42 foot Custom Liberty Express, full tournament rigged, offshore only. No backcountry, no bay, no bridges, no flats. We run for sailfish, mahi, tuna, wahoo, marlin when the season lines up, and whatever else is honest that day.

The name started as a joke that stuck. The original DirtyBoat was a 1995 32 foot Blackfin Combi Express. Joe Sabe bought her. He meant to rename her. He ran a few charters first, the name got used on the radio, in text threads, on receipts, and by the time he got around to picking a real name, DirtyBoat was already the name. That is how naming actually works, on boats and in code.

I run DirtyBoat as captain. I also built the booking engine, the site, and the AI agent that answers questions on dirtyboat.com. Same person, both jobs. That is the setup that makes the rest of this post make sense.

What running charters did to my engineering brain

Before I bought into charter fishing full time in 2015, I was a Software Engineer III and Architect at Tribune Digital. I led the AWS migration of six East Coast papers, LA Times, Sun-Sentinel, Orlando Sentinel, Baltimore Sun, Hartford Courant, Chicago Tribune. Before that I was VP Marketing at theglobe.com during the 606% first-day IPO, and I have my name on two US patents from that era (US 6,999,458 and EP 1836591 A2).

None of that taught me what fishing taught me.

Fishing taught me that a plan is a hypothesis with a fuel budget. You leave the dock with a working theory. Two hours out, the sea state is different, the bait moved, the temperature break shifted a few miles, and you throw the plan out. The clients still paid. The clock still runs. You still need to catch fish.

Software has the same shape and most engineers refuse to admit it. You ship the spec, the users do something you did not predict, the market moved while you were building, and you either adjust or you burn the day pretending your original plan was correct.

Every good charter captain I know has this reflex. Most engineers I have worked with do not. That is the gap DirtyBoat closed for me.

The booking engine, specifically

The dirtyboat.com booking engine is custom. Stripe direct, Supabase for state, Astro for the front end, an Anthropic Claude agent handling inbound questions and pre-qualifying inquiries before they hit my phone.

I could have used FareHarbor. I use FareHarbor for affiliate work through Robbie’s, that partnership has moved north of $7.1M in online revenue since 2016. It is a fine platform for what it does.

But my own boat is different. I want to control the deposit terms, the cancellation policy, the weather rebook logic, the tackle upgrade upsell, the split charter matching, the way the confirmation email reads. I do not want a percentage skim on a boat I own. And I want the AI agent to be trained on my actual answers, not a generic script.

So I built it. The whole thing runs on Netlify. Supabase holds the availability calendar and the customer records. Stripe holds the money. SendGrid sends the confirmations. The Claude agent lives behind a webhook and knows the difference between a sailfish question in January and a mahi question in May, because I taught it.

Total infrastructure cost per month: less than one lost booking would cost me in a FareHarbor cut.

Why the boat makes me a better developer for other charter captains

I have built or currently maintain sites for Miss Penny Charters in Marathon, Just Cuz Fishing, Islamorada Luxe Charters, Big Beard Boats (mobile marine mechanic, Yamaha and Suzuki certified), Hungry Tarpon Restaurant at Robbie’s, and Robbie’s Marina itself. I sit on the board of the Islamorada Charterboat Association. I am Vice President of S.A.F.E., the South Atlantic Fishing Environmentalists, 460+ members.

When a captain in Marathon calls me about his booking flow, I do not have to guess what his day looks like. I know what time he is prepping bait. I know when he checks his phone. I know that if his confirmation email does not include his cell number in the first line, he is going to get called by someone standing at the wrong marina in Key Largo.

I know that “we depart at 7am” needs an address and a marina name and a slip number, because Google Maps will send tourists to a boat ramp two miles from the actual dock if you let it. I know that a $250 deposit feels different in November than it does in April. I know that the “contact us” form on a charter site is where bookings go to die, because captains do not check email between trips.

This is not a marketing bullet point. This is the reason my charter clients get sites that convert and the reason I do not build websites for industries I do not personally live inside. I do not do WordPress migrations for law firms. I do not do Squarespace fixes for wellness brands. I build for people who work on the water or on job sites, because I understand the tempo.

What DirtyBoat is not

DirtyBoat 2.0 is not a backcountry boat. We do not run bay trips. We do not do bridge fishing or flats. If you want that, I will point you to captains who do it well, there are several at Robbie’s alone.

DirtyBoat the codebase is not a template. It is not a WordPress theme. It is not a Wix build. It is not something I would sell as a starter kit, because the parts that make it work are the parts that are specific to my boat, my season, my clients, and my policies.

What I will sell you is the same approach applied to your boat. Your season. Your clients. Your policies. That is the work.

Where to find both versions of me

If you want to book a trip on DirtyBoat 2.0, that number is (305) 209-5594 and the boat is at Robbie’s, MM 77.5, Islamorada. If you want me to build you something that runs like the DirtyBoat booking engine runs, text (954) 682-9551 or email km@kitmobley.com. I am usually on the water, so text lands faster than a call.

Same guy. Same standards. The boat pays for the code and the code pays for the boat, and that is the arrangement I have been running for eleven years now.