Features
Everything the job needs.
Sail Scoring covers the whole of a scorer’s season — setting up, scoring, publishing, and everything after. The full tour, from the everyday to the deep end.
Running a series
Set up the season, not just a spreadsheet.
A series holds everything about a trophy, league, or championship — its entries, fleets, starts, and race calendar — and the whole club's worth of them stays organised.
A home for every series
The workspace home groups series under your own categories, in your own order, with recent activity shown under each — so a club running five leagues and a regatta a season still finds everything at a glance.
A series in under a minute
Name it, say where and when, and start entering competitors. Everything else — fleets, scoring systems, discards, publishing — can be decided when it matters, not up front.
Finished seasons, kept safe
Archiving makes a finished series read-only, filed by year at the foot of the list — a safeguard against a stray edit months later. Deleting takes two deliberate steps and even then is soft: a trashed series stays recoverable for thirty days.
An entry list that fits your racing
Every entry needs just a sail number and a name. Everything else is optional and per series: boat, class, owner, helm, crew, club, nationality, bow numbers, and prize-giving divisions. Enable only the fields your racing uses and the forms stay small.
Boats that change sails mid-event
A replacement sail after damage, a borrowed one, a charter picked up on day two — list the other numbers a boat may show and finish entry recognises all of them. The result lands on the right boat, and the series records which sail it actually raced under, while standings and published pages keep showing the number it entered with.
Sorted the way you read numbers
Sail number 7 belongs at the top of the list, not below 217236 — numbers sort as numbers here, grouped by national letters. Click any column to sort by it instead, and hold shift to stack up to three: nationality, then gender, then sail number, for pulling clubmates or a run of similar boats together.
Boats with more than one name
Co-owned boats, offshore co-helms, and full keelboat crews are first-class: any person field can hold as many names as the boat carries, and exports keep the classic Helm / Crew line for the simple case.
Optional feature — switched on per workspace under Workspace settings.
Tidy the whole list in one pass
Filter, select, and set a field on thirty entries at once — with suggestions from values already in use, so near-misses like HYC versus Howth YC are easy to unify. Find duplicates groups suspect entries, including sail-number changes, for review and one-click merge.
Fleets, scored independently
Group competitors into fleets — each with its own scoring system, its own standings, and its own penalty-point base. The same boat can sail in more than one: a cruiser scored under IRC and ECHO from a single finish time is the normal case, not a workaround.
Describe the start line once
Tell it how your classes start — who goes first, who shares a gun, how long between signals — and every new race resolves all its start times from the first warning. Three classes at five-minute intervals is one dialog, once a season.
Only the fleets that raced
A race's recorded starts say which fleets sailed it, so finish entry, check-in, and automatic DNCs cover only the boats actually racing — no wading through the whole entry list, no clearing phantom DNCs for a class that stayed ashore.
A season of races in one go
Add races one at a time, or generate a whole weekly or fortnightly run from a single dialog — pick the first date, say how many, and check the previewed dates before anything is created. Postpone, rename, or slot in a re-sail later without disturbing the scoring.
The race, on the record
Record what a race was sailed in — wind range and direction, the course, the tide — and who ran it, using World Sailing's race-management roles. Officials' names are never published unless you explicitly say so.
Optional feature — switched on per workspace under Workspace settings.
One entry list, many series
A season often scores as several series over the same boats — a Winter and a Spring block, Tuesdays and Saturdays, an overall table alongside. Sub-series keep the whole season in one place: each block gets its own standings, discards, and published pages, and progressive handicaps can chain from one block into the next.
Optional feature — switched on per workspace under Workspace settings.
Roll into the next series
When Spring Series 1 ends and Series 2 begins, create the follow-on in one step: same settings, fleets, and competitors, with each boat's handicap carried forward from where the last series left it.
Optional feature — switched on per workspace under Workspace settings.
Qualifying fleets, finals, medal races
Big one-design championships split the entry into qualifying fleets re-dealt from the standings each morning, then Gold and Silver finals — the format behind ILCA and Optimist majors. A guided tab runs the whole event: seeded initial assignment, daily re-deals, combined interleaved finish sheets, catch-up races, the final split, and a medal race — and it reads your configuration back as sailing-instruction prose so you can check it against the SIs you were given.
Available on request — get in touch and we'll set it up.
World Sailing Sailor IDs
Record each sailor's World Sailing ID, import an organising authority's seeding list matched on it — the only identifier that survives chartered boats — and verify every ID against World Sailing's own datafeed, where a mismatch is what catches two transposed digits on an entry form.
Optional feature — switched on per workspace under Workspace settings.
Entering results
From finish sheet to scored race, fast.
Result entry is built around how finishes actually arrive: a handwritten sheet, a busy finish line, and a scorer who wants to be done before the bar closes.
The finish sheet, typed as it comes
Row order is crossing order, a sail number commits the moment it's unambiguous, and timed fleets prompt for a finish time as you go. A whole fleet's finish goes in as fast as you can read the sheet.
Every result code, scored correctly
DNS, DNF, OCS, NSC, RET, DNC, DSQ, DNE, UFD, BFD — the full Racing Rules code set, grouped by how each arises, with boats that never came out collected automatically. Each code scores its correct penalty base, and a non-excludable DNE is never discarded.
Unknown boat? Keep writing
A sail number that isn't on the entry list doesn't stop the sheet: record it as unknown in its crossing position and resolve it to the right boat later, once someone remembers whose spinnaker that was.
Ties, per the rules
Two boats crossing together share averaged points with one tick, and series ties break automatically per RRS A8 — best scores first, then the last race. Nobody re-derives a tie-break at the prize-giving.
ZFP, SCP, and DPI penalties
A boat penalised after a hearing keeps her finish and takes the points: ZFP, SCP, and discretionary DPI penalties are applied from the finisher's row and scored per RRS 44.3(c) and A6.2 — the percentage, the rounding, the DNF cap — with the penalised score shown in amber wherever it appears.
Redress, by the book
When the protest committee grants redress, score it the way RRS Appendix A9 says: average of all other races, races before the incident, or stated points — with control over which races count, and per-fleet values for a boat scored under more than one handicap system.
Who came to the start
Tick boats present in the starting area as they arrive — by tap, or by typing sail numbers as fast as you can read them. It's the record behind DNF-versus-DNC defaults and starting-area penalty scoring, captured while it's easy instead of reconstructed later.
Import the whole sheet
When finishes are captured in a spreadsheet on the water, import the race in one go — sail numbers, times, result codes, row order as crossing order — with a preview of exactly what will land before anything is replaced.
Optional feature — switched on per workspace under Workspace settings.
Fast hands welcome
Every page-level action has a keyboard shortcut and ? opens the reference, so a practised scorer runs a race day without touching the mouse.
Scoring correctness
RRS Appendix A, faithfully.
Scoring software earns trust through correctness. Low Point scoring, discards, tie-breaking, and the odd corners of Appendix A are the engine's job — and every edit recomputes everything, instantly.
Low Point, recomputed instantly
Series score to RRS Appendix A Low Point, and every edit — a late protest decision, a corrected finish time, a reinstated boat — recomputes standings, discards, ties, and progressive handicaps the moment it lands. There is no recalculate button because there is nothing stale to recalculate.
Discards as the SIs state them
Write the discard schedule the way the sailing instructions do — with five races sailed, exclude one; with nine, exclude two — and the standings apply it automatically as the series grows. Rules that look wrong are flagged but never forbidden: sometimes the unusual profile is exactly what the SI says.
Discards as a proportion
Long-series SIs often say it differently — one discard for every three races sailed. State it as exactly that, and the card reads back where the allowance steps up, which is the check you actually make against the sailing instruction.
Optional feature — switched on per workspace under Workspace settings.
Penalties sized to the turnout
Clubs with variable attendance score DNF and OCS on the boats that came to the start, not the season's whole entry — RRS A5.3, one checkbox, including the variant that scores DNC that way too.
When one race counts differently
The trophy race that counts double, the centrepiece that can never be discarded, the practice race that drops out first — set weighting and discard behaviour per race, and the standings carry the marks and a legend so nobody has to ask why R4 says ×2.
Optional feature — switched on per workspace under Workspace settings.
Rating and handicap systems
The systems clubs actually race under.
Scratch, IRC, ECHO, Portsmouth Yardstick, RYA NHC — with ratings pulled from the published lists instead of typed from them, and progressive handicaps you can verify with a calculator.
Scratch, for one-designs
First across the line wins. Position-based scoring for one-design fleets and anyone racing on equal terms — clean race tables with no corrected-time noise.
IRC, from the worldwide list
Pull TCCs straight from the IRC rating list — matched by sail number, spinnaker or non-spinnaker per fleet, dual certificates handled — always as a previewed set of current → new changes you approve boat by boat, never a blind overwrite.
ECHO, from Irish Sailing
The Irish progressive handicap comes from its authority: pull each boat's ECHO straight from the national Irish Sailing list, previewed the same way. Portsmouth Yardstick numbers come per class from the bundled RYA list, with guide-only numbers flagged.
Progressive handicaps, shown working
NHC and ECHO adjust every boat's rating after every race — and Sail Scoring shows the work. Published pages always carry each boat's next rating, and one checkbox reveals the full calculation columns, so a rating officer can verify every adjustment line by line.
Carried forward, season to season
When a new series starts, carry every boat's handicap forward from the last one — end-of-series values for progressive systems, current ratings for static ones — with a full preview, and a proper answer to the mid-series certificate change: keep already-scored races on the old rating, or re-score everything to correct a mistake.
NHC and VPRS too
The RYA National Handicap for Cruisers runs on the standard parameters with per-fleet overrides for tuning experiments, and VPRS scoring pulls TCCs from the club's published list — both there when your racing needs them.
Optional feature — switched on per workspace under Workspace settings.
Reading and checking
Trust the table — and be able to prove it.
Standings a sailor can read at the noticeboard, and a record behind them that stands up to a protest committee.
Standings a sailor can read
Total and nett, struck-through discards, podium badges on the series and on every race, and distinct styling for coded, penalised, and redress scores — the answer to who's winning and why, at a glance.
See exactly what goes public
Preview renders the precise published page inside the app before anything goes out — and downloads it as self-contained HTML or a print-tuned PDF for the noticeboard.
Strike a race for one fleet
The heat only one boat sailed, the race abandoned for a single class — strike it from that fleet's scoring straight from the standings column header, while it still counts for everyone else. The menu names the underlying race, so you always know what you're striking.
Every change, on the record
The app saves point-in-time versions as you work — who changed what, and when. Roll back a mistake with one click, pin a named checkpoint before a protest hearing, and know that publishing pins the exact state that went public. It's the audit trail a scoring inquiry actually needs.
Publishing
Results your club can link to forever.
Publishing is one click, and what it produces is not a file to email around — it's a stable public page under your club's own index, kept organised season after season.
One click from standings to public
Publish renders the current standings to a public URL that never changes — re-publishing updates the page in place, and the dialog tells you how many edits have landed since results last went out. Choose which fleets go live, and set each page's URL before it's first published.
The page your sailors see
Clean, readable results pages that need no sign-in and load anywhere — the standings up top, every race's full table below, branded with your club and event.
A results site that organises itself
Every published page slots into your club's public index — events grouped by season, each with its results tables linked right on its row, with navigation on every page to move between classes, events, and seasons. It updates itself every time you publish. No webmaster required.
One page for the whole event
Publish several fleets as sections of a single page — an all-fleets Overall page so a multi-class event has one link to hand out, or one class page covering every method it's scored under, optionally replacing the per-fleet pages entirely.
Optional feature — switched on per workspace under Workspace settings.
Gold, Silver and Bronze, side by side
A class that races as one fleet but awards prizes by division can publish both: the overall standings, and a table per division with each ranked among its own boats. Same racing, same scores — the second page is how the prize-giving reads, and it's the page a class will ask you for.
Optional feature — switched on per workspace under Workspace settings.
Events of every shape
Several series can publish into one event folder — the cruisers and the one-designs of the same regatta, each publishing independently. And a one-race trophy publishes as just the race table, not a one-column standings page pretending to be a series.
Provisional until it's final
Results stay provisional while a protest could still move them. When the event is settled, mark the series final through a checklist built on the protest time limit — computed live from each race's last finisher — and the published pages carry a Final stamp in place of the provisional line.
Optional feature — switched on per workspace under Workspace settings.
Every live page, accounted for
The Published tab lists everything your workspace has made public — each page's URL, when it last went out, and how many edits have landed since. Unpublish takes a page down cleanly, and even a deleted series' orphaned pages stay listed until you decide.
Branding without the file hunt
A shared workspace library of venue, club, class, and sponsor logos — plus a built-in set of official marks — with workspace defaults, so published pages come out branded without anyone hunting for image files. Update a logo once and every page using it follows.
Data in and out
No lock-in, in either direction.
Entry lists arrive as spreadsheets; results should leave as anything you need. Your data is importable, exportable, and never held hostage.
Entry lists straight from the spreadsheet
Import competitors from CSV or Excel with per-column mapping and live samples of what each column holds. Fleets can be inferred from the rating columns, multi-fleet boats declared in one cell, and a boat that changed sail number between imports is caught instead of duplicated.
Coming from Sailwave? Bring everything
Import a Sailwave .blw file whole — fleets, competitors, ratings, results, prize divisions — previewed before anything is created. Or keep scoring in Sailwave and use Sail Scoring as the publishing front end, refreshing from a new export whenever you like.
Optional feature — switched on per workspace under Workspace settings.
A series is a file, when you need one
Save any series as a single .sailscoring file — competitors, races, results, and its full version history — to back it up, email it, or move it between workspaces. Re-importing recognises the series and updates it, warning if the two copies have diverged.
Every results page carries its data
Published pages embed a machine-readable snapshot of the results, and an Open in Sail Scoring link imports the whole series into any account in one click — so the data behind a results page is never more than one link from usable.
One entry list, shared with the jury
Push the competitor list to a racingrulesofsailing.org event for protests and hearing schedules — with contact details relayed from your spreadsheet and never stored.
Optional feature — switched on per workspace under Workspace settings.
Across series and seasons
Beyond the single series.
For classes and clubs with history: the layer that connects seasons of results into careers, ladders, and archives. These run on infrastructure we enable per workspace — ask us.
Every sailor's career, connected
Entries across seasons resolve into recurring competitors, each with a public timeline of every series sailed — third of 48 at the Nationals, year by year — and a searchable index of everyone who has raced, so "who sailed 1605?" has an answer.
Available on request — get in touch and we'll set it up.
Season ladders across events
Best-N rankings computed over the series you choose — a championship plus the best two regionals, participation floors, nationality and fleet filters, committee adjustments with footnotes — published as a public ladder that updates as results land.
Available on request — get in touch and we'll set it up.
Decades of results, preserved
A club's historical results can be brought in exactly as they were originally published — display-only, never re-scored — so the archive lives alongside the current season under the same index, and a sailor's timeline reaches back through it.
Available on request — get in touch and we'll set it up.
Collaboration and accounts
A scoring panel working as one.
Sign in from any browser, share a workspace with the panel, and keep the interface exactly as small as your club's racing.
No password to lose
Sign in with an emailed link — nothing to remember, nothing to reset in the club office at five to race time. Your series follow your account to any device.
A workspace for the panel
Request a shared club workspace from your account page and it arrives with you as owner, ready to invite the rest of the panel by email — with owner, admin, and view-only roles so a class captain can watch without the risk of a stray edit.
Several scorers, one series
The whole panel sees edits in close to real time, typically split by fleet. Nothing locks; instead every change is attributed, and if two scorers touch the same finish at the same moment, the second sees a conflict prompt naming the first — never a silent overwrite.
Only the features you use
Optional features switch on and off per workspace, so a dinghy club never sees IRC machinery and a keelboat panel never sees youth-regatta tooling. Several arrive with a worked example seeded into your series list, ready to explore and delete.
Help without losing your place
Look something up and the guidance opens in a panel beside the screen you're on — already showing the section that covers it — so the advice and the thing it describes are in front of you together. Slide it out of the way and back, and it returns to the same paragraph.
A direct line to the builder
Send a bug report or a suggestion from inside the app, with the page and browser context attached automatically — and shown to you before it goes.
For the technical
Open, underneath.
For clubs with a developer on the committee — and for anyone who wants to know their results outlive any one tool.
A real API
A keyed public REST API covers series, competitors, races, results, and publishing — the same surface the app itself uses, so anything the app can do, a script can do.
Scriptable from the terminal
The sailscoring command-line tool drives the API for bulk import, publishing, and reads — season automation without anyone touching a database.
MIT-licensed, developed in the open
The application is open source under the MIT licence. No vendor to disappear, no ransom for your own scoring system — if it matters to your club, you can read exactly how every score is computed.
Your data, always yours
Export any series as a documented file at any time, and every published page embeds its results as data. Leaving is a download, not a negotiation — which is precisely why you won't need to.
Screenshots from the real app, sample data shown. Click any screenshot to enlarge.