Getting started
Everything below is in the order it needs to happen. A program that follows it from the top ends with a tablet paired and a match ready to score.
1. Sign up and approval
Start at Sign up your organization on the front page. One form creates your account, your organization and your admin membership together. It asks for your name, your email address and a password, then the organization's name, city, state or province, an optional postal code, a country, and a time zone.
Get the time zone right: every match time, every report and every public page is shown on that clock. An admin can change it later in Settings.
New organizations are checked before they open. Until yours is approved you can sign in, but every page under your organization shows the review notice instead of the real page, a tablet cannot be paired, and you have no public live pages. You get an email when the review is done.
2. Settings
Settings in the nav, admins only. Three things live here.
- Organization name, and the slug underneath it. The slug is the last part of the public link you share with families, and it is fixed: it cannot be changed here.
- Where you are: city, state or province, postal code, and the time zone everything in this organization is shown in.
- Public pages: the "Show player names on public live pages" checkbox. Off, which is the default, means fans see jersey numbers only. On means a first initial and a last name appear on your live pages, for your players only, never the opponent's. This is a decision to make with your athletic department, not a display preference.
Press Save when you are done. Nothing on this page takes effect until you do.
3. Members
Members in the nav, admins only. The table lists everybody in the organization with their role, and the role select next to each of them changes it: press Save on that row. What each role can do is on the overview page.
To add somebody, fill in Add a member at the bottom: their email address, a name (used only if a new account has to be created), and a role, then Add member.
- If the email already belongs to a Freeball user, they are added to your organization straight away and sent a short notice.
- Otherwise a new account is created and an invitation email is sent. Freeball then shows you a one-time set password link for that person. Send it to them directly if the email does not arrive: it expires in 15 minutes and is never shown again.
If a link expires, press Send new link next to that person, or tell them to use Forgot password? on the sign-in page. Remove takes a person out of this organization.
4. Seasons
Seasons in the nav, manager and above. New season asks for a name (something like "2026 Fall") and the dates it starts and ends. Seasons are listed newest first, and the one with the latest start date is badged Current.
Teams belong to a season, so at least one season has to exist before you can add a team.
5. Teams
Teams in the nav, manager and above. New team asks for a name, the season it belongs to, a level (varsity, jv, freshman, club or other) and a gender (girls, boys or coed). Teams are listed grouped by season.
Opening a team shows its roster and two forms beside it: Add existing player, which puts a player already in your program on this team with the jersey number they wear for it, and Create a new player, which does both at once.
Players belong to the program, not to a team. That is what makes one athlete on both JV and Varsity work, with a different jersey number on each if she wears one.
6. Players
Players in the nav, manager and above. New player asks for:
- First name and Last name.
- Preferred number: the number she usually wears. It is only a default; the number that counts is the one on the team roster and on the match roster.
- Position: OH outside hitter, MB middle blocker, RS right side, S setter, L libero, DS defensive specialist. Optional, and it changes no stat; it labels her on rosters and in the scorer's lineup selects.
- Grade, 6 through 12. Freeball keeps a graduating class year and shows it under the field as you pick, so a grade entered this season still reads correctly next season. The Players table shows both, as Class of and Gr.
- Height, typed the way a coach writes it, such as
5'8".
Reading a roster off a photo
Typing 34 names off a printed sheet is the worst part of setting a season up, so there is Set up from a roster photo on both the Players and the Teams page. Photograph the sheet (the file picker opens the camera on a phone), one sheet at a time.
- The photo is read by AI, which takes a few seconds. Freeball does not keep the photo, and it is not used to train AI.
- You get every row it found in an editable table, with a checkbox per row: jersey, first name, last name, height and year. Fix anything misread. Nothing has been saved yet.
- Choose where it goes. For your own program, each section of the sheet maps to a team you already have or a new team named after the section, with page-level selects for the season and gender. For an opponent, pick the match and say which section of the sheet is the opposing team.
A name that matches a player you already have is reused rather than duplicated, and a jersey already on that team is updated rather than added twice. Two rows claiming the same jersey keep the first and report the second as skipped.
7. Rule sets
Rule sets in the nav. Three system presets come with Freeball and cannot be edited: NFHS Varsity (best of 5: 3 sets to win, 25 points, 15 in the deciding set, 18 substitutions), NFHS JV (best of 3, otherwise the same), and USAV Club (best of 3, 12 substitutions). All three win by 2, allow 2 liberos and 2 timeouts per set, and have no point cap.
A coach can add your own with New rule set. The fields are:
- Sets to win: sets one team needs to take the match. 3 is a best-of-five.
- Points per set: the target in a normal set, usually 25.
- Deciding set points: the target in the last possible set, usually 15. A set is the deciding set when its number is
2 x sets to win - 1, so set 5 of a best-of-five and set 3 of a best-of-three. - Win by: the lead needed at the target, normally 2. At 24-24 the set goes on.
- Point cap: a hard ceiling, if your league plays one. Leave it blank for no cap, which is what all three presets do. With a cap of 27, 27-26 ends the set.
- Subs per set: the substitution allowance. Freeball warns when it is passed and never blocks the substitution, because the referee, not the app, decides.
- Max liberos per set: how many liberos may be designated for a set. One is on court at a time whatever this says.
- Timeouts per set: same treatment as substitutions; over the allowance is a warning, not a block.
The rule set is copied onto the match when the match is created, so editing a rule set later never changes a match that has already been played.
8. Devices and pairing
Devices in the nav, manager and above. Every tablet or phone that scores is paired once to its own device, so it can score with nobody signed in on it.
- Press New device, give it a name you will recognize later ("Bench iPad"), and press Create device.
- The Device created page shows a QR code and a pairing code. This page is shown once. Neither can be recovered later, only replaced by creating another device.
- On the tablet, open the Freeball scorer and point its camera at the QR code, or paste the pairing code into the pairing screen. Either way the tablet pulls your teams, rosters, rule sets and schedule once, and from then on it runs offline.
On an iPad or iPhone, install the app before pairing. A pairing done in Safari does not carry over to the home screen app. The pairing screen says so on those devices: Share, then "Add to Home Screen", then "Add", then open Freeball Scorer from the home screen and pair there.
Open scorer, in the nav and on the Devices page, pairs the browser you are signed in on for you, so a coach trying it on their own laptop or tablet needs no QR code at all. That shortcut needs wifi once.
The Devices table shows when each device was last seen. Revoke cuts a device off immediately; the tablet then says re-pair is needed and keeps everything it had not yet sent.
9. Creating a match
Matches in the nav, then New match, manager and above. The fields:
- Team: which of your teams is playing.
- Opponent name: typed in. It is the name that appears on the public page and in the exports.
- Scheduled at and Venue. The time is read and shown on your organization's time zone.
- Home or away: home, away or neutral. Reports can filter on it.
- Rule set: a preset or one of your own. It is copied onto the match, and it cannot be swapped once the match has started.
- Visibility (coach and above): see below.
- Track our touches: on by default. On means the scorer offers pass grades, digs, sets and hits in play for your team, which is what makes hitting by pass quality, set distribution and receive averages possible. Off means only the touches that end a rally are recorded.
- Track opponent touches: off by default. On adds a jersey grid for the opposing team and the same in-rally buttons for them. Off means the opponent side of the scorer offers only Their kill, Their ace, Their block and Their error.
- Grade serves: off by default. On lets the scorer grade each of our serves 3, 2 or 1 by how badly the opponent handled it, which is what makes serve rating and serve efficiency possible. Off means only aces and errors are recorded for our serves, as always.
- Track attack detail: off by default. On opens a four-second strip after each of our attacks so the scorer can record the attack type and zone, which is what makes the attack breakdown and the shot chart possible. Off means an attack is recorded with no type or zone at all.
All four toggles can be changed between sets, and all four are recorded on the match so a report can say how much detail was captured.
Visibility and Freeball Live
- Private, the default: no public page at all. Nobody outside your organization can see it.
- Unlisted: a public page that works for anybody with the link, but the match is not listed on your organization's live page.
- Public: the same page, and the match is listed on your live page for anybody who opens it.
Public and unlisted matches both notify the fans who have followed your organization or that team when the match starts. A private match notifies nobody. Public pages show jersey numbers unless your organization has turned on public player names.
Opponent players
Opponent jerseys are added on the match page, not on the match form: the Opponent players card takes a number and an optional name, one at a time, or you can use Read the opposing roster from a photo to read the sheet they handed you at the scorers' table. You only need these when you are tracking opponent touches.
10. The match roster
On a scheduled match, Edit roster on the match page opens the roster for that night. It lists every player in the organization, grouped by team, so a JV player can be pulled onto a Varsity match with the number she is wearing tonight.
Each row has a jersey number box and four buttons:
- Out: not on this match.
- S: starter.
- L: libero.
- B: bench.
Tapping S, L or B both picks the role and puts the player on tonight's roster. Above each team there are All to bench and All out for setting a whole group at once. The Other teams column on the right says where else that player is rostered, which is how you catch the number she wears on the other team.
The page prefills from that team's last roster and says which match it copied, so a normal night is a few changes and Save roster. The scorer does the same thing for the starting lineup the first time you set up set 1: it fills the six positions, the liberos and the setters from the team's last match and tells you it did.
With the roster saved, the tablet is ready. Carry on to Match day.