
SB Boat Charters —A photography-led site with the booking engine built inside it, so no platform takes a cut.
Services —
- Brand & art direction
- Web design
- Booking engine architecture
- Availability & scheduling logic
- Stripe payments integration
- Operator admin tooling
Overview —
A full rebuild for a Santa Barbara charter operator: a photography-led site with a custom booking engine inside it rather than a third-party widget bolted on. Live availability, Stripe checkout, gift cards, a video gallery that updates itself from his channel, and an admin portal the captain runs the season from. The site, the calendar, the customer list, and the payment account are all his, and the guest pays exactly the price on the trip.
Built with —
- Next.js
- React
- Stripe
- Vercel
Key moments —
The problem
A beautiful experience trapped behind a dated site, with a booking platform taking a cut of every charter and owning the customer relationship.
The build
A photography-led redesign with the booking engine built into it: availability, payments, gift cards, and an operator portal, all on his own domain.
The outcome
A site that sells the experience before guests step on the boat, and a booking flow that no longer rents the customer back to him every season.
What the engine does —
The gallery shows the front of the site. This is the part underneath it, and it is the same system I build for other charter operators.
Booking & availability
- Charter types priced separately: sunset cruise, full day island, whale watching
- Duration tiers inside each trip, from a two hour private charter up to a full day
- A real calendar, not a request form: open dates are bookable, closed dates are visibly closed
- Hourly departure slots filtered by the trip and date the guest picked
- Six-passenger capacity enforced with a guest counter, matching the vessel
- Blackout dates for maintenance, weather, and time off
- Double-booking blocked at the database, not just in the interface
Checkout & payments
- Live summary that rebuilds as the guest picks date, trip, time, and party size
- All-in total stated on the page: nothing further is added at checkout
- The time slot is held for 30 minutes while the guest pays, so two people cannot take the same seat
- Stripe checkout, including Link, so fares land in the operator's own account
- Gift cards redeemed inline, on his own site, without a support email
- Meeting point, cancellation terms, and the weather-refund policy shown before payment
The operator portal
- Upcoming departures at a glance, with guest details and trip notes
- Manual entry for phone and walk-up bookings, on the same calendar
- Blackout days and schedule changes without touching code
- Gift card balances and redemption history
- Pricing and charter-type updates as the season changes
Site & content
- Charter pages art-directed around real photography from the water
- Video gallery pulling the latest Channel Islands footage automatically
- Vessel detail pages for the Belafonte, a Stabicraft 2500 Ultracab XL
- Captain story and FAQ, the two pages that close a private charter
- Fast, structured data, clean URLs, built to be found
Every booking runs through his Stripe account and his domain. The customer list, the reviews, and the rebooking prompts are his.
1 / 7Run a charter business? You can have this too.
I build charter operators their own site with the booking engine inside it: live availability, card payments into your own account, gift certificates, your videos and Instagram on the trip pages, and a dashboard you run the season from. You do not build any of it. No template to configure, no widget to embed, no settings panel to fight. You send photos and prices once, and it runs itself after that.
See how it works →