Tell it once what you sail, and it only ever shows you moorings that fit.
Santa Catalina Island sits 22 nautical miles off the California coast. Boaters cross for the weekend and take a mooring in one of a dozen coves at Two Harbors. Getting one is a system, and the system is not obvious.
Design for a place like this and the interesting work is not inventing features. It is understanding the rules well enough that the interface can stop explaining them.
There is no turning up. Even a holder who has paid for the whole season has to reserve their own can for the nights they want it.
A holder can take a different mooring on five weekends a year. Midweek, as often as they like. The scarce thing is a weekend somewhere else.
A mooring nobody has reserved is simply available. Availability is not generosity, it is arithmetic, and that is what the app can surface.
A 38 foot boat cannot take every mooring, but today you find that out deep inside a booking form, after you have already picked a cove and got your hopes up. Thursday at 4pm a week of demand lands on one moment, and if you are not at a screen the good coves are gone.
And a booked mooring is a dead end. Plans change constantly on the water: somebody has reserved a weekend they are no longer coming for, and there is no way for anyone else to find that out.
From then on every cove, mooring and price is filtered to a 38 foot sloop. Nothing you cannot take is ever shown.
If the holder has booked your dates, you message that boat instead of hitting a wall. If they have not, it is yours to take.
High contrast, numbers set in monospace so lengths, dates and channels line up in a column, and no decoration anywhere. This is a tool someone uses while doing something else.
Change the length of your boat and watch the harbour shrink or open up. That is the whole argument of this design in one gesture: your boat is the filter, and nothing you cannot take is ever shown.
The obvious design greys out what is unavailable and moves on. That is what every booking product does, and it is wrong here, because on the water the most common situation is a mooring reserved by somebody whose plans have changed.
So the taken state is the richest screen in the app. It shows the dates in orange, names the boat that holds them, offers a midweek alternative on the very same mooring, and gives one clear action.
The identifier is the code painted on the buoy, F.4, set larger than anything else on the screen. It is what people say out loud, so it is what the interface says.
There are no phone numbers anywhere in this app. Boat names are already public on the water, personal numbers are not, so contact happens by vessel name. It costs a tap and it means nobody has to expose a number to ask about a weekend.
A boat without a mooring pays by the night, and it goes to the harbour. The moment a holder can profit from a weekend they skip, people start hoarding moorings to rent, and the good will the product runs on is gone in a season.
A holder's weekend allowance is a small whole number, so it is drawn as five dots that are either spent or not. A bar would suggest a percentage of something continuous, which it is not.
Lengths, dates, mooring codes and VHF channels are set in a monospace face so they align down the screen and can be read at a glance. Prose is set in a grotesque with real weight, for glare.
Saying no is half the work, and it is the half nobody puts in a case study.
Ratings and reviews of holders. A small harbour where people see each other every summer. Scoring your neighbours out of five would poison it, and holders would leave first.
Groups, invitations and user made events. The community part is already handled by boats messaging boats and by seeing who shares your cove. Groups need permissions, notifications and moderation.
Avalon, the other harbour. It cannot be reserved at all: you cross, wait outside the entrance, and the Harbor Patrol assigns you one. That is a different product. One harbour done properly.
Named as version two: alerts when a mooring your size opens, an offline arrival card for the coves with no signal, and rafting up as a proper feature rather than a share.
Designed from the rules of a real place, for people who already know them.
See the full screen set Work with me