Booking platform and fleet scheduling for a sailing school.
The school ran on three spreadsheets, a shared calendar and a whiteboard by the slipway. Double-booked boats were a weekly event and beginners abandoned enquiries because nobody could tell them which weekends had space.
Any new system had to work for instructors with wet hands and patchy signal on the jetty.
Our approach
- Courses explained for beginnersCourse pages answer the questions in the enquiry inbox: what to wear, whether you get wet, and what happens if it rains.
- One timeline for the fleetEvery boat, booking and maintenance slot sits on a single day view, and the scheduler refuses conflicting bookings.
- Weather in the workflow, after launchWe cut the weather integration from the first release. It came back in the second phase: forecast wind sits next to the schedule and the tool flags sessions to move when it picks up.
- Offline-first crew appCheck-ins and boat checks sync when the phone gets signal again.
Where AI fit, and where it didn’t
Most of the build was standard booking logic, so we used AI tools to scaffold CRUD screens, write data migrations from the old spreadsheets and draft first versions of the course copy for the school to edit. Our engineers wrote and tested the scheduling engine themselves.
- Spreadsheet migration scripts generated and checked in two days
- Course copy started as an AI draft; the instructors rewrote most of it
- Scheduling rules covered by 300+ hand-written tests
What we’d do differently
The offline crew app took three rounds to get right. Our first sync design assumed one device per boat, but instructors share phones on the jetty, and the conflicts that caused cost us most of week nine.
“The whiteboard is gone. The instructors actually asked for the app to be on the tablet at the slipway. I didn’t think I’d see that.”
Services on this project: Website, Booking system, Internal tools.