April 11, 2026
Meet Captain Jack: The First AI Booking Agent in the Florida Keys

There’s a new crew member aboard the DirtyBoat, and he never sleeps.
Captain Jack is our AI booking mate — the first autonomous booking agent in the Florida Keys. He lives on dirtyboat.com and on our text line at (305) 209-5594, ready to help you plan your fishing trip any time of day or night.
What Captain Jack Can Do
This isn’t a basic chatbot that spits out canned answers. Captain Jack is a fully autonomous AI agent that connects to live data sources and makes real decisions.
Real-time availability. Ask Captain Jack about any date and he checks our FareHarbor booking system live — DirtyBoat and Miss Penny, every trip type, every time slot. No guessing, no stale calendars. He checks a 10-day window around your requested date and finds you the first open slot with a direct booking link.
NOAA marine forecasts. Captain Jack pulls the live Straits of Florida marine forecast straight from NOAA’s National Data Buoy Center (NDBC) — the same FZUS52 Key West forecast we check before every trip. Wind speeds in knots, sea heights, swell direction, small craft advisories. Ask him about conditions for your trip date and he’ll give you an honest read. If it’s going to be rough, he’ll tell you. If it’s going to be glass, he’ll get you fired up.
FWC fishing seasons. Not sure if grouper is open? Whether you need a federal permit for swordfish? Captain Jack knows every season, every bag limit, every size minimum for South Atlantic / Islamorada regulations. He’ll steer you to what’s biting right now and away from what’s closed.
Pricing and trip planning. Half day, three-quarter day, full day, swordfish expedition, split charters — Captain Jack knows every trip type, what’s included, what to bring, cancellation policies, and can help you pick the right charter for your group.
Page awareness. If you open the chat from our swordfish page, Captain Jack already knows you’re interested in swordfish. He picks up context from where you are on the site and leads with the right info.
How It Works
On the website: Click the blue chat bubble on any page at dirtyboat.com. Drop your name and phone number, and Captain Jack opens a live chat right in your browser. He responds in seconds with real data. If you leave the site, he’s got your phone number and can text you to continue the conversation.
Via text: Text (305) 209-5594 anytime, day or night. Captain Jack picks up instantly. Ask about dates, species, pricing — whatever you need. When you’re ready to book, he’ll send you a direct FareHarbor link. The conversation continues as long as you need it.
Need a human? Captain Jack knows when to hand off. Ask to talk to a real person and he’ll connect you with me directly. I monitor every conversation from our custom CRM and can jump in anytime to close a booking or answer something Captain Jack can’t.
Why We Built This
I got tired of losing bookings at 11 PM because someone texted and I was asleep. Or watching website visitors bounce because the contact form felt like shouting into a void. Or quoting the wrong price because I was half-asleep at 6 AM and misremembered the full day rate.
Captain Jack changes all of that. Someone lands on the swordfish page at midnight, curious about a trip? Captain Jack is already there — checking availability, pulling up the marine forecast, knowing that swordfish is open year-round with a 47” minimum, and sending them a booking link. All before they have a chance to click away.
He handles the routine questions so I can focus on what I do best: putting fish in the boat.
The Tech Stack
For the developers, tech founders, and charter captains who want to know what’s under the hood:
AI Brain: Claude by Anthropic — specifically Claude Sonnet 4.6 for the web chat (fast, single-call responses) and Claude Managed Agents for SMS conversations (persistent sessions with tool-calling capabilities). Captain Jack isn’t a wrapper around ChatGPT with a fishing prompt. He’s a purpose-built agent that decides when to check availability, when to pull weather, and when to escalate to a human.
SMS & Voice: Twilio — handles all inbound and outbound text messages. When you text (305) 209-5594, Twilio receives it, routes it to our webhook, and Captain Jack processes it through the Managed Agent. Responses go back through Twilio. We run about 10,000 messages a month.
Booking System: FareHarbor — Captain Jack checks availability in real-time via FareHarbor’s API across all trip types on both DirtyBoat and Miss Penny. Results are cached for 5 minutes in our database to keep things fast and avoid hammering their API.
Database: Supabase — PostgreSQL database that stores everything: customer records, conversation history (SMS and web chat in the same thread), availability cache, bot configuration, and session tracking. The entire CRM runs on Supabase.
Marine Weather: NOAA NDBC — live marine forecast from the National Data Buoy Center, specifically the FZUS52 Key West coastal waters forecast covering the Straits of Florida from Ocean Reef to Craig Key out 20 nautical miles. Cached for 30 minutes. The same forecast every captain in the Keys checks before heading offshore.
Website: Astro with Tailwind CSS, deployed on Netlify. The chat widget is a lightweight vanilla JavaScript component — no React, no heavy dependencies. The web chat function runs as a Netlify serverless function.
CRM: Custom-built on Astro + React, also on Netlify. I can see every conversation (SMS, Facebook, Instagram, web chat) in one inbox, toggle the AI on/off per customer, take over conversations live, and monitor Captain Jack’s performance. Web chat messages show up in the same thread as SMS — if someone starts on the website and then texts, it’s all one conversation.
Automated Follow-ups: A scheduled function runs every 2 hours looking for leads who received a booking link but haven’t responded. Captain Jack sends one friendly follow-up text — no spam, just a nudge. You’d be surprised how many bookings come from the follow-up.
Configuration: All of Captain Jack’s knowledge — pricing, FAQs, boat specs, fishing seasons, cancellation policy — lives in a single database table. When prices change, I update one row and both the website chat and SMS agent pick it up within a minute. No code deployment needed.
The Architecture
Website visitor → Chat widget → Netlify function → Claude API
↓
FareHarbor API (availability)
NOAA NDBC (marine forecast)
Supabase (logging, cache, config)
↓
Response in browser
+ Customer created in CRM
+ SMS fallback if they leave
SMS customer → Twilio → Webhook → Managed Agent session
↓
Claude decides: check availability?
Pull weather? Escalate to captain?
↓
Tool calls fulfilled by our code
↓
Response via Twilio SMS
+ Logged in CRM conversations
What’s Next
We’re just getting started. On the roadmap:
- Booking confirmation loop — connect FareHarbor booking data back to conversations so Captain Jack knows when someone actually booked
- Multi-language support — Spanish and Portuguese for our international guests
- Voice integration — Captain Jack answering the phone (yes, really)
- Fleet-wide rollout — bringing Captain Jack to Miss Penny, Just Cuz, and our affiliate fleet
Try It Right Now
Hit the blue chat bubble in the bottom right corner of this page. Or text (305) 209-5594. Captain Jack is standing by.
We believe we’re the first fishing charter in the Florida Keys — maybe the first anywhere — to run a fully autonomous AI booking agent with live availability, marine weather, and fishing regulation data. If you know of another one, we’d love to hear about it.
Fair winds and tight lines.
— Captain Kit Carson DirtyBoat Charters, Islamorada Built with Claude by Anthropic, Twilio, Supabase, FareHarbor, NOAA, Astro, and Netlify.