Race Management Platform for a Hobart Yacht Club
Designed and built a clickable race management console for a Hobart yacht club that runs about 60 race days a year: handicap results scored from committee boat finishes, versioned publishing, protests and hearings, and a safety board that tracks every boat until it is back ashore.
Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.
Dashboard, results list, race results review with the corrected time breakdown, protests with hearings and decisions, and the race-day safety board.
Corrected time is elapsed time times each boat's time correction factor. DNS scores entries plus one, other codes starters plus one, and recording a code rescores the class on the spot.
A boat is overdue 60 minutes after its class finishes or it retires without checking out. Call skipper, radio call, check last tracked position, send safety boat, then phone police or emergency services, each ticked with a time.
5 classes across IRC, PHS and one-design scratch, 16 races in 4 events, 9 protests at every stage and 20 boats on the safety board for tonight's twilight race, 2 of them overdue.
Greywater Point ran its racing on paper sign-on sheets, a desktop scoring program on the clubhouse PC, a shared handicap spreadsheet and a whiteboard. Finishing times were written on the committee boat and re-typed ashore, so results often appeared two days later with typos. Twice in one season the safety officer learned a dinghy had not come ashore only when a parent phoned the club.
Windward covers the season from notice of race to published results. Results officers review elapsed and corrected times, apply scoring codes with a reason and publish versions that are never overwritten. The protest committee schedules and decides hearings in one place, and the safety officer sees every boat that went out until it checks back in ashore.
Club racing in Tasmania runs under the Racing Rules of Sailing, three handicap systems and the club's own sailing instructions, staffed largely by volunteers on a committee boat that often loses signal.
Finishing times went from the committee boat to paper to the clubhouse PC. Typos in sail numbers and times changed places, and results often took two days to appear, long after sailors wanted them.
Boats race on corrected time under PHS, adjusted by the club handicapper, and under IRC or ORC certificates. Windward has to store each rating as given, not calculate it, and score each class by the method the series chose.
Start sequence timings, points for each scoring code, discards and tie-breaks come from each event's sailing instructions. Protests and redress follow the RRS shape, and decisions used to live in a folder nobody could find.
The club had no reliable check-in and check-out, and offshore crew lists arrived by email in five formats. Medical notes on crew lists are sensitive information under the Privacy Act 1988, so only the safety officer may see them.
Mapped 11 roles from principal race officer and handicapper to skippers and spectators, 47 screens across the race officer console, sailor app and public live viewer, and the data model for events, races, starts and signals, ratings, finishes, results versions, protests, safety checks and overdue alerts. Wrote down the rules the design follows: the Racing Rules of Sailing, PHS, IRC and ORC, Australian Sailing special regulations for offshore races, and the Privacy Act 1988 and Australian Privacy Principles.
Built 5 key console screens on a production dashboard kit: the dashboard with season KPIs, needs attention and last race day safety summary, the results list with Sailwave and TopYacht export, race results review with per-class tabs, scoring codes and reissue, the protests inbox with schedule hearing and record decision, and the safety board with overdue alerts and the escalation checklist. All actions run on local state.
The race control screens for the committee boat tablet (course builder, start sequence, live tracking and finishing) working offline, the sailor app and the delayed public live viewer. Integration with YB Tracking satellite trackers, Mapbox, Bureau of Meteorology weather, Stripe entry fees, Twilio SMS, push notifications and Postmark email. Role-based staff access and an audit log of every change to times, codes, handicaps, decisions and results.
Every publish creates a new version with who published it and what changed, such as a corrected sail number or a pending protest. A reissue after a protest decision adds a version and never replaces an earlier one.
Each row opens a corrected time breakdown with elapsed time, factor, method and result. Warnings flag unmatched finishes, expired ratings and finishes outside the time limit before anything is published.
The safety board counts boats checked in, on the water, ashore and overdue. Each overdue alert shows why it was raised, the skipper's phone, persons on board and the last tracked position, and closing it asks for an outcome.
Track clips in a protest carry a note that positions are approximate and supporting information only. Late protests can still be lodged and are marked late, so the protest committee decides, not the software.

Designed and built a clickable booking platform for an alpine club in Chamonix that runs 34 mountain huts: multi-night trips booked as one record, a warden app for tonight's guests on a satellite link, and a club console for bookings, closures and official conditions shown with their source and date.

Designed and built a clickable league management console for a volunteer-run county football association in Aarhus: a weekend dashboard with referee coverage and weather risk, every fixture with its officials and team sheets, results checked against three submissions, and discipline cases that turn cards into sanctions from the association's own tariff.
Enterprise Software Engineering - Human + AI
Contact Us
© 2026 - Copyright. All Rights reserved Oceanlab
Location
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
Enterprise Software Engineering - Human + AI
Contact Us
Locations
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
© 2026 - Copyright. All Rights reserved Oceanlab