Sand changes everything. CourtPage changed with it.

Beach isn't indoor with a different background. It's a different game — different roster size, different rules, different way your players even think about where the ball's going. CourtPage's Beach Mode was built as its own format from the ground up, not a reskin, so it never asks you to adapt indoor habits to a sport that doesn't share them.

Most charting tools treat beach as an afterthought — same interface, same six-player mental model, just fewer bodies on a smaller court. CourtPage does the opposite. Pick Beach once, when you start a Season, and every match inside it plays by beach's actual rules: two players, not six, with no rotation panel waiting to be ignored and no libero button assuming a sub who isn't walking onto this court. Zones you can say out loud — "Mid-deep," "R-net" — instead of a number a college gym paints on the floor, because your players on the sand never learned to think in indoor rotation numbers to begin with. Names, not jersey numbers, since beach players don't always wear one. None of it is indoor with the inconvenient parts hidden. It's just gone, because it was never relevant to begin with.

One format, chosen once

Pick Beach or Indoor when you create a Season — not per match, not mid-lineup. Every match inside that Season inherits the format automatically, the same way a real season doesn't change sports halfway through.

CourtPage™ New Season screen with the Indoor/Beach format picker, Beach selected, showing a real beach volleyball court photo.

2v2, nothing bolted on

Toggle on your two players and you're set. No rotation tracker, no libero assignment, no six-player starting lineup to fill out for a sport that's never had one. What's missing isn't a limitation — it's the point.

CourtPage™ Beach Lineup screen showing exactly two active players toggled on, with no rotation or libero panel present.

Sand under every court

Same draw, same tag, same stat engine as indoor — the court just knows it's sand. Zone numbers become directions any player can read at a glance: Mid-net, R-deep, L-net, instead of a number system built for a 6-rotation game beach never had.

CourtPage™ empty beach CourtPage showing all three charting courts with sand texture and spatial zone labels like L-deep, Mid-net, and R-net.

Tag by who they are, not what they're wearing

Your own roster shows up as initials — beach players don't always wear numbers, so CourtPage doesn't force the pretense that they do. Opponents get a simple name field that remembers who you've already typed, so you're not retyping the same name every time down the stretch of a long tournament day.

CourtPage™ beach serve tag popup showing our roster's initials as quick-select options instead of jersey numbers.

Stats that already speak the language

Attack Map, Serve Map, Season Stats — every analytics screen you already use for indoor reads beach's zone labels automatically. Nothing to relearn, no separate stat vocabulary for a format that already asks enough of a coach tracking two players do the work of six.

CourtPage™ Match Stats Zones tab for a beach match, showing attack lines and zone efficiency percentages against spatial zone labels.

Exports that respect the sport

Export a beach CourtPage and both teams show up by initials, on both sides of the net — never a meaningless number standing in for a player who was never assigned one in the first place.

CourtPage™ exported beach CourtPage PDF, showing initials badges on charted lines for both our team and the opponent.

Zero compromises either way

Indoor and Beach aren't two versions of the same idea forced to share a codebase — they're two sports CourtPage was built to actually understand, each with the rules, vocabulary, and workflow real coaches in that sport expect. Switch Seasons, switch formats. Nothing carries over that shouldn't, and nothing's missing that would.