Curling Stats – End User Guide
This guide explains how to use the Curling Stats app as a scorer or team manager. Update it when new features are released.
Getting started
Creating an account and signing in
- Open the app in your browser (your administrator will give you the URL).
- Click Sign up to create an account, or Sign in if you already have one.
- Complete sign-up with your email and password (or the sign-in method your organization uses).
- After signing in, you are taken to the Dashboard. The sidebar shows Dashboard, Preferences, User Manual, Teams, Curlers, Games, Seasons, New game, Stats, and (if you have access) Coaching (with icons and grouped sections: Overview, Teams & games, Analytics, Coaching). The Dashboard also has quick links to Teams, Games, Seasons, New game, Export, and Import. At the top of every page you’ll see a breadcrumb (e.g. Dashboard > Teams) on the left and, on the right, a theme toggle (sun/moon icon) to switch between light and dark mode and your account menu. At the bottom of the sidebar the current app version is shown (e.g. "v2.0.1"); it is set when the app is built and matches the version in the Changelog at that time. You can log out using the account menu in the top-right corner, or use the Log out button on the Dashboard.
You must be signed in to use teams, curlers, and games.
Using on mobile
On phones and tablets (narrow screens), the sidebar is not always visible. Tap the menu icon (☰) in the top bar to open the navigation drawer; you can then go to Dashboard, Preferences, Teams, Curlers, Games, Seasons, Stats, New game, or User Manual. Tap a link to go to that page (the drawer closes), or tap outside the drawer to close it. The breadcrumb, theme toggle, and account menu remain in the header. The app is designed to work on small screens with touch-friendly buttons and links.
Get started card on the dashboard
The dashboard can show a highlighted Get started card at the top with short steps: create a team, add curlers, create a game, score a game, view stats. Each step is a link. You can Dismiss the card so it does not show again; your choice is saved. To bring it back, click Show get started tips (when the card is hidden) or turn on Show get started / onboarding card on login in Preferences. The card can be shown or hidden whether or not you already have teams or data.
Preferences
Click Preferences in the sidebar (Overview group) to change:
- Show get started / onboarding card on login – When on, the Get started card appears on the dashboard when you log in or visit it. When off, the card stays hidden until you turn it back on. You can turn it on or off whether or not you already have teams or data.
- Theme – Light or Dark. This is the same as the theme toggle in the header; your choice is saved and can follow you across devices.
- Default shot scoring mode – Simple, Detailed, or Both. This is used when you open a game's score page.
- Shot placement diagram – Default placement diagram zoom: a slider from 100% to 200% (100%, 150%, 200%) used when you open the placement diagram on the score page. Default placement mode: Simple (delivered only) or Full (delivered + moved); this is the initial mode when you turn Shot placement On.
- Curling diagram – Four color pickers for the house rings: Button (center), 4-foot, 8-foot, and 12-foot. These colors are used on the shot placement and replay diagrams (unless a game has its own custom colors). The default for the button (center) is white.
Changes are saved automatically. No need to click Save.
Teams
Teams represent the curling teams you manage (e.g. your club's sheet or league team).
Viewing your teams
- Click Teams in the sidebar.
- You'll see a list of teams you've created. Each card shows the team name and whether it's public (if you set that).
- Click a team card to open its detail page. From there you can Manage curlers, View games (games list filtered to this team), View stats, and Manage seasons.
Creating a team
- On the Teams page, click New team.
- Enter a Team name (e.g. "Team ABCD").
- Optionally:
- Team type – Choose Standard (4 players) or Doubles (2 players). Doubles teams use two lineup slots when you create a game.
- Public slug – Short URL-friendly name (e.g.
my-club-sheet1) if you plan to share team stats. Must be unique across all teams. - Make team stats publicly viewable – Check this only if you want anyone with the link to see this team's stats (when the slug is set).
- Click Create team.
You'll be taken to the team's detail page.
Editing a team
- Open the team from the Teams list.
- Change Team name, Public slug, or Make team stats publicly viewable as needed.
- Click Save changes.
Sharing team stats (public link)
When Public slug is set and Make team stats publicly viewable is checked, your team has a shareable link (e.g. https://your-app.com/t/my-club-sheet1). Anyone with that link can view the team's statistics (read-only)—summary cards, curler table, and period selector (Lifetime or a season)—without signing in. The filters and data on the public page match the dashboard team stats page: period (Lifetime or a season), game format (All / Standard / Doubles), game type (when the period has two or more types), and date range (From/To). Viewers can use Clear filters to remove all filters and show all data. The games list ("View games") respects the same period, format, and date range; Back to team stats keeps the current filters. Viewers can also open curler stats (click a curler name), game detail (scoreboard and end scores), and shot-by-shot scoring (read-only). To share: open the team detail page; in the Shareable link section, copy the URL and send it. You can turn off Make team stats publicly viewable or change the slug at any time to revoke or change the link.
Inviting others to your team
Team owners can invite others by email so they can view the team and create games without making the team public.
Note: The app does not send invite emails. When you invite someone, you get an invite link to copy; you must send that link to them yourself (e.g. by email or messaging). The Team members section in the app explains this and how the flow works. For the full invite URL to appear, an admin must set the App URL in Admin → Settings (or it can be set via environment variable).
- On the team detail page (as owner), find Team members.
- Enter an email address and click Invite. If that person already has an account, they are added as a member and can open the team from their Teams list. If not, you get a link to copy and send. When they open the link, the page tells them to sign up with that email if they don’t have an account (they’ll return to the page to accept), or sign in if they already have one. New users can accept the invitation right after sign-up.
- Members (invitees) can view the team, manage curlers, view stats, create games, and export. Only the owner can edit team settings, delete the team, or invite/remove members.
- To remove a member, click Remove next to their name. To cancel a pending invitation, click Cancel next to the invitee's email.
If you were invited to a team, you'll see Pending team invitations on the Teams page when you have invites; use Accept or Decline.
Same-date game prompt
When you create a new game and the team already has a game on that date, the app will ask: Different game – create new, Same game – open existing, or Cancel. Use "Same game – open existing" to go to the existing game instead of creating a duplicate.
Deleting a team
- On the team detail page, scroll to Delete team.
- Click Delete team and confirm in the dialog.
- You'll be returned to the Teams list; that team is permanently removed.
Seasons this team is in
- On the team detail page, click Manage seasons.
- You’ll see Seasons this team is in – a list of seasons that include this team. Click a season name to open the season manage page (where you can add or remove teams, and if you own the season, invite collaborators).
- To add this team to an existing season, use the Add to an existing season dropdown and click Add to season.
- To create a new season and add this team, click Create new season and add this team – you’ll create a season (name, start/end dates) and this team will be added to it.
Managing curlers
- On the team detail page, click Manage curlers.
- Use the Curlers page to add, edit, or delete curlers and set their default position (Lead, Second, Vice, Skip).
Seasons
Seasons group games and let you filter stats (e.g. “2024–25”). A season is owned by you (the user) and can include multiple teams. You can create a season before adding any team, then add your teams (or invite other users to add their teams) and view season stats (including shared curler stats when the same person is linked across teams).
Viewing and creating seasons
- Click Seasons in the sidebar.
- You’ll see My seasons (seasons you own) and Seasons you’re invited to (where you’re a collaborator). If you have pending invitations (someone invited you by email before you had an account), they appear at the top – use Accept or Decline.
- Click New season to create a season. Enter Season name (e.g. 2024–25), Start date, and End date. You don’t need a team yet – you can add teams from the season page after creating it.
- Click a season card to open the season manage page. Each season card also has View games – use it to see all games in that season (date-ordered) without opening the manage page first.
Viewing games in a season
From the season manage page, click View games in this season to see a list of all games in that season (most recent first). You can also use View games on a season card from the Seasons list. Each game links to the game detail page.
Managing a season
On the season manage page you can:
- Edit the season name and dates (if you own the season).
- Delete the season (if you own it). Games linked to it will keep the link; the season and its team/collaborator links are removed.
- Teams in this season: See which teams are in the season. Add team – choose one of your teams from the dropdown to add it. Remove – remove a team (you can remove your own teams; the season owner can remove any team).
- Collaborators (owner only): Invite other users by email. If they already have an account, they’re added immediately and see the season under Seasons. If they don’t have an account, a pending invitation is created and you’ll see a Copy link button – share that link with them. They can sign up (or sign in) using the link, then Accept to join the season. You can Remove a collaborator at any time.
- View season stats – Opens the season stats page: summary per team in the season and Shared curlers (curlers linked to the same person across teams, with combined stats for the season).
Season stats and shared curlers
When you open View season stats for a season you own or collaborate on:
- You’ll see each team in the season with a short summary (games, shots, shooting %) for that season.
- Shared curlers lists people (curler identities) who appear on more than one team in the season – with combined stats for the season. Both the season owner and collaborators see the same numbers.
Accepting an invitation (invite link)
If someone shared an invite link with you (e.g. after they invited you by email and you didn’t have an account yet):
- Open the link in your browser. You’ll see a Season invitation page.
- If you’re not signed in: click Sign up to create an account (or Sign in if you already have one). Use the same email the inviter used. After signing up or signing in, you’ll return to the invitation page.
- Click Accept invitation. You’ll be taken to the season page and can add your teams and view season stats.
You can also see pending invitations on the Seasons page and use Accept or Decline there.
Curlers
Curlers are the players on a team. You can assign an optional position (Lead, Second, Vice, Skip) for default lineup order. The Curlers item in the sidebar opens a page that lists all curlers you have access to—from every team you own, collaborate on, or score for—so you can create curlers, add them to teams, view stats, edit, or share. The Share button appears for curlers you created or that are on a team you own. Enter the other person’s email address: if they already have an account, they get access immediately; if not, you’ll get an invite link to copy and send (e.g. by email)—they sign up or sign in with that email and open the link to accept. If you try to share with someone who already has access to that curler, you’ll see a clear message instead of an error. In the Share dialog, People with access lists everyone you’ve shared the curler with; you can Remove access for any of them at any time. The Create a curler form is at the top and uses a compact layout to save space; Your curlers is listed below. Key charts on stats pages support Download as PNG for reports or sharing.
Adding a curler
- Go to Teams → open a team → Manage curlers.
- Enter the Name.
- Optionally choose a Position (Lead, Second, Vice, Skip).
- Optionally use the Add an Existing Curler to the Team section to search for an existing person or create a person profile from the name below (for combined stats across teams).
- Click Add curler.
The curler appears in the table. The app uses Roboto as the site font and respects your light/dark theme for form controls and native widgets.
Optional: Same person on another team?
When adding a curler you can optionally link them to the same person (for combined stats): in the Add an Existing Curler to the Team section, type part of the name in the search box (or choose from the picklist of curlers on your other teams), then click Search or press Enter (or click away to run search). Results include curlers on your other teams—even if they are not yet linked to a "person" identity. Selecting one creates the link (and the identity if needed) so both teams share stats. Or use Create person profile from name below to create a person identity from the name you entered and link this curler to it. When editing a curler you get the same search or Create person profile from name below. This lets the app combine stats for that person across games.
You can have the same person on multiple teams (for example, your team and a team you’re invited to). Add them as a curler on each team and link each curler to the same person; the search shows curlers and identities from teams you can access (teams you own, teams you’re a member of, and teams of games you’re invited to score). Stats for this person (on a curler’s stats page) then combine all games you can access across those teams.
Editing a curler
- On the curlers page, click Edit next to the curler.
- Change the name and/or position.
- Click Save.
Deleting a curler (from the team page)
- On the team detail page, go to Manage curlers.
- Click Delete next to the curler.
- Confirm in the dialog. The curler is removed from the team. (You can only delete if that curler has not played in any games.)
Deleting from the Curlers page (person profile or unlinked curler)
On the Curlers page (sidebar → Curlers), you may see Delete for:
- Person profile (linked curler): If you created that person profile, Delete removes the profile and the curler from all your teams. Game history is kept: lineups are anonymized (the name stays in past games but is no longer linked to that person), so stats and shot history are preserved. Shared users lose access. Confirm in the dialog before deleting.
- Unlinked curler: If the row is a curler on one team that is not linked to a person profile, and you are the team owner, Delete removes that curler from the team. You can only delete if they have not played in any games (no lineup entries).
Viewing team statistics
- On the team detail page, click View stats.
- You’ll see the team stats page with:
- Period: Choose Lifetime (all games) or a specific season (e.g. 2024–25) to filter the numbers.
- Game format: When the selected period has both Standard and Doubles games, you'll see Game format pills (All, Standard, Doubles) to filter stats; if the team has only one format in that period, this filter is hidden.
- Game type: When the selected period has two or more game types (e.g. rec league and competitive), you'll see Game type pills (All, Rec league game, Competitive league game, etc.) to filter; only types that have games in the period are shown, and if there's only one type, the filter is hidden.
- Date range: Optional From and To dates limit all stats on the page (summary cards, record, game situations, shooting-by-category chart, curler table, and the Scoring & game situations section) to games played within that period. Export stats CSV also respects the selected date range when you have set it.
- Clear filters: When any filter is active (period, game format, game type, or date range), a Clear filters link appears; click it to remove all filters and show all data. The date range row also has a Clear button to clear only the dates.
- Summary cards: Games played, total shots, team shooting %, and normalized average (0–100 for different score scales).
- Team shooting summary: When shot data exists, a card shows shot percentages by position (Lead, Second, Vice, Skip) and by turn and category (In-turn / Out-turn with Guard, Draw, Hit).
- Team shooting % trend: When you have at least two games with shots, a line chart shows team shooting % per game with a trendline. Click the card to open the shooting drill-down page. There you’ll see: a summary table by game; the same trend chart; category trend (Guard %, Draw %, Hit % as three lines over games); shooting % by end (performance by end 1–8); shot-type distribution over time (how Guard/Draw/Hit usage changes game by game); In-turn vs out-turn (shooting % with last-stone advantage vs without for the period); and team-aggregated shots by specific shot type (e.g. Freeze, Takeout) as detail cards per category. When a season is selected, you can Compare to previous season to see this season vs last on one chart. Key charts have Download as PNG for reports or sharing.
- Record: Wins, losses, points for, and points against (and tie-breaker game W–L when applicable).
- Overall team efficiency and With hammer / Without hammer: An overall team efficiency score (average of hammer efficiency, steal defense, force efficiency, and steal efficiency) appears when you have end data; then the With hammer and Without hammer cards show hammer efficiency, steal defense, and combined rating with hammer; force efficiency, steal efficiency, and combined rating without hammer. Hammer efficiency is (ends with hammer where you scored 2+) ÷ (ends with hammer where points were scored by either team); blank ends are not counted. Click through to the hammer drill-down to see per-game breakdown and trendlines for each measure and for rating with/without hammer and overall efficiency. Hammer counts are derived from each game's first-end hammer and the sequence of end scores (blank ends keep hammer), so the breakdown stays accurate.
- Thinking time by position: When any game in the period had thinking time recorded, total and average thinking time per position (Lead, Second, Vice, Skip). The lead's first stone of each end is not timed.
- Curlers table: Each curler’s games played, ends, shots, shooting %, and average; click a curler’s name to open their per-curler stats.
- If you have no games or no shot data yet, the page will say “Add games and score shots to see stats” with a link to New game. When you create a new team, a Next steps card may appear (Create a game → Add ends → Score shots); you can dismiss it and it won’t show again.
Viewing per-curler statistics
- From the team stats page, click a curler’s name in the table (or go to View stats and then click the curler).
- The curler stats page shows:
- Period: Same Lifetime or season filter. Game format: All, Standard, or Doubles (same as team stats).
- Metrics: Games played, ends played, shots, shooting %, and normalized average.
- By position: A table of the same metrics when the curler played each lineup position (Lead, Second, Vice, Skip), so you can compare performance by throwing order.
- By shot type: A bar chart of average score (0–100) by category (Guard, Draw, Hit). Below it, one card per category lists the detailed shot types and percentages (e.g. Center guard, Free guard under Guard). When you view a curler’s stats for a single game (e.g. by clicking their name from the Game statistics card on a game page), these Guard, Draw, and Hit cards list each specific shot type (e.g. Hit & Roll, Come Around) with shot count and percentage for that game. Shooting % by category over time shows trendline graphs of Guard %, Draw %, and Hit % per game so you can see how each category trends over the last 10 games.
- By turn: In-turn vs out-turn shot counts and averages.
- Last 10 games: A line chart of shooting % (normalized) per game over time, with an optional trendline (dashed) for season or lifetime views. The x-axis is spaced by game date when available. Below the chart, a table lists each game with Date, Opponent, Shots, Shooting %, and a View game link to open that game and a Game stats link to view that curler’s stats for that specific game.
- Averages are normalized so games with different score scales (e.g. 0–4 vs 0–5) are comparable.
Games
Games are individual matches. You set up the game (teams, date, rocks, hammer, etc.) and the lineup (throwing order) for your team—and optionally for the opponent if you want to track their shots too.
Games list and filters
From Games in the sidebar you see all your games, grouped by season. You can filter the list: From / To (date range), Result (W, L, or T), Opponent (type part of the opponent name), and Has stats (yes = at least one shot scored; no = no shots). Use Apply dates or Apply after typing the opponent; filters are reflected in the URL so you can bookmark or share. When any list filter is set, Clear filters appears to remove them and show all games. The same filters (and Clear filters) are available on Team stats → Games for that team’s games.
Games list (by season)
Click Games in the sidebar to see all your games. They are shown grouped by season: one card per season (or “Ad-hoc / No season” for games not attached to a season). Within each card, games are listed with the most recent first. For each game you'll see View game (opens the game detail page) and View shot scoring summary (opens a read-only page with the club scoreboard and a table of all scored shots; the table includes a Notes column when scorers have entered comments). Click the game title or View game to open the game detail page.
Game summary statistics
When you open a game that has shots scored or scoreboard updated (at least one end with scores), a Game statistics card appears on the game page. When the game has shots scored, the card includes: a pie chart of shots by category (Guard, Draw, Hit; hovering a segment shows the category name in the tooltip); With hammer and Without hammer cards, each showing four lines—ends count, two sub-ratings (with fraction and %), and total rating; a per-curler table with Shots, Score, Avg %, In-turn %, Out-turn %, Guard %, Draw %, Hit %; curler names link to that curler’s stats for this game when the lineup slot is linked to a curler (clicking opens the curler stats page scoped to this game; you can then switch to Lifetime or a season using the period filter); an expandable row (click the arrow) per curler with more in-game breakdown by turn and category and, when the game tracks thinking time, a thinking-time summary (total seconds and average per rock) for that curler. If only the scoreboard has been updated and no shots are scored yet, the card explains that. When someone is selected in Use for official stats (Scorers section), the Game statistics card uses only that scorer’s shots; when “All scorers” is selected, all shots are included.
Creating a new game
- Click New game in the sidebar.
- Step 1 – Team: Choose the team you're scoring for. (If you have no teams yet, create one from the Teams page first.)
- Step 2 – Game setup:
- Our team name – Often pre-filled from the team name; you can change it (e.g. "Team ABCD").
- Opponent team name – Name of the other team.
- Number of ends – Scheduled ends for the game (default 8, min 1, max 11). The scoreboard starts with this many ends already created; you can enter scores and add more ends up to 11 total.
- Game format – Standard (4 per team, 8 rocks per end) or Doubles (2 per team, 5 rocks per end). If your team type is Doubles, this defaults to Doubles.
- Date played – When the game was (or will be) played.
- Location (optional) – Venue or club (e.g. "Wausau Curling Club").
- Sheet (optional) – Which ice sheet the game was played on (e.g. "Sheet A").
- Our rock color / Opponent rock color – Choose from Red, Yellow, Blue, Green, or Other.
- Hammer in first end – Choose which rock color has last stone in the first end (the dropdown shows the two colors you picked).
- Hammer in first end – how decided? (optional, Doubles only) – If you chose Doubles, you can optionally record how hammer was decided: Not specified, Coin toss, or Decision (e.g. draw to the button).
- I will measure thinking time for this game – Check if you plan to record thinking time (e.g. for YouTube links later).
- Track shot-by-shot scores for the opponent team as well – Check if you want to record shots for the opponent; if so, you'll enter their lineup in Step 4.
- YouTube stream URL (optional) – Link to the game video, if you have one.
- Score scale – Choose 0–4, 0–5, or 0–6 for shot ratings.
- Season (optional) – If you want to attach the game to a season, choose one from the dropdown. Only seasons that include your selected team are shown (you add teams to seasons from the Seasons page or from the team’s “Manage seasons” page).
- Step 3 – Our lineup: For Standard games the app fills four positions (Lead, Second, Vice, Skip); for Doubles you see two slots (Player 1, Player 2). Drag the grip icon to change the order; use Swap with [position] or Substitute (team) / Substitute (ad-hoc) as needed.
- Step 4 – Opponent lineup (only if you checked "Track shot-by-shot scores for the opponent"): Enter the opponent's names—four positions for Standard, two for Doubles. You can use spaces in names (e.g. "Jane Doe"). You can leave names blank; the app will save placeholder labels (e.g. "Opponent Lead", "Opponent Second") so placement and scoring work. You can change them later from the game page. Shots attributed to placeholder names are not included in opponent statistics. Placeholder names appear in Replay and Compare scorers until you replace them with real names.
- Click Create game.
You'll be taken to the game detail page.
After creating a game – Game detail and end scoring
The game detail page shows:
- Header – Our team vs opponent, score (e.g. "5–4" or "5–4 (tiebreaker)" when the game is complete and included a tiebreaker end), date, rock colors, hammer in first end (and for Doubles games, how it was decided—e.g. "coin toss"—if you set it when creating the game), and (if you entered them) location and sheet.
- Scoreboard – The scoreboard uses the club format: columns are point totals 1–16 (not end numbers). The numbers in each cell are end numbers (which end produced that total). Column 16 is for blank ends (0–0). The table has three rows: your team (rock color), a middle row with labels 1…16, and the opponent (rock color). Only one team scores per end; blank ends leave totals unchanged and are shown in column 16. When you can edit the game (team owner or collaborator), each end number in the club table is clickable: clicking it scrolls to that end’s row in the End scores section below and opens inline edit for that score.
- End scores – Below the club table, a single table lists each end in a row with columns for End, Our team, and Opponent (equal-width columns). New ends start with scores 0–0. You can click a score cell (our or opponent) to edit that value in place: type the new number and press Enter or click away to save. Or click Edit on the row to change both scores and options (tiebreaker) together. Scores are 0–8 each (or leave blank); for a tiebreaker end only 0–0, 1–0, or 0–1. You can optionally mark an end as Tiebreaker (e.g. draw to the button): then only 0–0, 1–0, or 0–1 are allowed. For Doubles games, a Power play & placement side card appears below the scoreboard. Use it to set, for each end, which team used power play (Our team or Opponent; only the team with hammer can use it) and Placement side (Left or Right)—the side of the sheet where the two pre-placed rocks were set. Placement side is required when power play is used. The end row in the table shows PP when power play was used. Shot placement and replay use this so pre-placed rocks appear on the correct side. Click Save to store the scores. The hammer for the next end is set automatically: the team that didn't score (or blank 0–0) has hammer next. The number of ends shown follows the game setup (Number of ends); extra ends are labeled "(extra)". If you can edit the game (team owner or collaborator), whenever the game has at least one end you can use Delete end (in the row or in the edit panel) to remove that end and all its shot data (with confirmation); subsequent ends are renumbered. You can delete the only end (the game then has 0 ends) and use Add end to add ends again. Reset end clears that end’s scores and all shot data for that end (even if it has a score); confirmation required. The actions column stays visible when you scroll the table. Remove and Undo last end (team owner only) are for quickly removing a blank last end only; when the last end has no scores (and there are at least two ends), that row shows a Remove button and you can also use Undo last end below the table (with confirmation).
- Add end – Click Add end to add the next end (e.g. end 2, 3, … or extra ends for tie-break). You can add up to 11 ends total. Ends after the scheduled number (e.g. end 9 when playing 8 ends) are shown as "extra" in the scoreboard.
- Concession – If the game ended early because one team conceded, use the buttons that show each team by name and rock color (e.g. Jackson (Red) conceded or Opponent (Yellow) conceded). Once set, the game is marked as ended early and the message shows which team conceded by name and color; you can't add more ends.
- Score game – Click this to open shot-by-shot scoring (see section below). If you are a team member (invited to the team, not the owner or game creator) and the game already has scoring, you’ll see a prompt: choose View existing summary to see the read-only scoreboard and shot table, or Do my own scoring to enter your own shots for the same game.
- Scorers – The game page lists everyone who can score this game. If you created the game, you are the owner and can Invite scorer by email (enter their email and click Invite). The invited user must already have an account; they will then see this game and can open Score game to enter their own scores. Each scorer has their own score sheet; no one overwrites another’s entries.
Multiple scorers
- Default primary scorer: When you create a game, your scoring is used for official team and curler stats by default. You can change or clear this from the game page.
- Primary scorer: On the game detail page, the game owner can use Use for official stats to select which scorer's data is used for team and curler season/lifetime stats; when set, only that scorer's shots count for that game. The dropdown lists everyone who has scored the game (including users who no longer have access), so you can keep or set primary to a removed user’s data.
- View scoring by: The Scorers section includes View scoring by—a list of everyone who has entered at least one shot for this game. Each name is a link to that scorer’s shot scoring summary (read-only table of their shots). Only scorers who truly no longer have access (e.g. removed from the game and not a team owner or collaborator) are marked (no longer has access); their scoring remains viewable.
- Inviting a scorer: On the game detail page, the game owner or game creator (team owner or whoever created the game), or an admin sees an Invite scorer by email field. Enter the invitee’s email address and click Invite. That user must have signed up for the app already; once invited, they can open the game and use Score game to record shots. Their shots are stored under their own scorer identity. The Scorers section in the app explains that the app does not send invite emails—you copy the link and share it yourself if they don't have an account yet.
- Your score sheet: When you open Score game, you see and edit only your own shot entries. Other scorers’ entries are separate.
- Compare scorers: When at least two people have scored the game (entered at least one shot), the game page shows a Compare scorers link. Open it to see a side-by-side table: for each end and shot, you see shot type and score for Scorer A vs Scorer B, and whether they match. Rows where both scorers agree are highlighted in green; rows where they differ are highlighted in red. Use the dropdowns to choose which two scorers to compare. When the game has thinking time and a YouTube stream URL, a Timestamps and YouTube links (by end) block lists each end’s time ranges with clickable links to jump to that moment on YouTube. If you are the game owner, a team collaborator, or an invited scorer, each shot row has Use [Scorer A] and Use [Scorer B] buttons to copy that scorer’s type and score for that shot into your own scoring.
- Delete their scoring: The team or game owner can Delete their scoring for any other person who has scored the game (with confirmation). This removes all of that person’s shot entries for the game. If that person was the primary scorer, the game’s primary scorer is cleared so stats no longer point at empty data. You cannot delete your own scoring.
- Scoring stays when access is removed: If a scorer is removed from the game or from the team, their shot data is not deleted. It remains attached to the game and is still visible in View scoring by and in Compare scorers.
Shot-by-shot scoring (Score game page)
After opening a game, click Score game to go to the shot entry page at /games/[id]/score. The page uses a three-card layout (shot form, shot list, place rocks). It defaults to Simple mode (the tabular grid). For Doubles games, the shot list shows 10 shots per end (both teams) when placement is on. You can switch how you enter shots using the Scoring mode toggle at the top of the page.
Score page (v2) — When your administrator has enabled the alternate scoring page, Score game may open /games/[id]/score-v2 instead. The v2 page offers three scoring modes: Detailed (default, one shot at a time with full shot type and notes), Compact (category-level shot types, auto-advance on score tap, no notes field), and Quick Grid (full grid-based entry with large touch targets for fast rink-side scoring). Your mode choice is saved in your preferences. A placement panel is available when shot placement is on: on desktop it appears as a side panel; on mobile as a bottom sheet. The panel supports Simple (delivered only) and Full (delivered + moved) modes and includes a Burned button to mark a stone as burned (keyboard shortcut B). When both a rubric and placement are enabled, tabs in the context panel let you switch between rubric and placement. Press ? (or click the ? button in the header) to open the keyboard shortcut cheat sheet. On supported mobile devices, a short haptic feedback (vibration) occurs on save and undo for tactile confirmation.
The End score area in the v2 page header shows a numeric input for each team's score for the current end. You can type a number directly (0–8) or use the keyboard. Only one team can score per end — if you type a score greater than zero for one team, the other team's score is automatically set to zero. A blank end (both zero) is always valid.
On the v2 page you may also see: a multi-scorer badge in the header when other users are scoring the same game (invited scorers or collaborators), so you're aware of multi-scorer activity; and an inline sparkline below the end tab bar that shows shooting percentage trend by end and updates as you score. When the game has thinking time enabled, v2 shows a collapsible thinking-time section in the end panel (press T to toggle). You can paste tab-separated start/stop timestamps (one pair per line) and click Apply, or edit pairs in the table; Clear (with confirmation) removes all pairs for that end. A live stopwatch mode is planned (the section may show "coming soon" when no pairs are entered). When the game has a YouTube stream URL set, the thinking-time section also shows a YouTube links row beneath the pair table — each pair displays Start and Stop links that open the video at that exact timestamp.
Scoring modes
- Detailed – One shot at a time: choose shot type, turn, score, and optional notes. Best when you want to record specific shot types (e.g. Hit & Roll, Freeze) and use the rubric.
- Simple – A tabular grid by end and player: two data rows per end for standard games (Shot 1 = first throw of each position; Shot 2 = second throw) and three data rows per end for doubles (Shot 1, Shot 2, Shot 3 with correct curler mapping). Columns are aligned to Guard Out, Guard In, Draw Out, Draw In, Hit Out, Hit In. Under each player you see six cells; click a cell and enter a score (0–scale max) or X (throw-away/not thrown) for that shot. Shots marked X are not counted in the per-end percentage or in statistics. Each curler’s columns have a distinct background tint (lead, second, vice, skip) and a visible border between blocks so you can quickly see which columns belong to which player; the six cells (Guard Out/In, etc.) have subtle alternating shading within each block. A percentage row under each end shows that end’s shooting percentage. Use this for fast entry when you only need category (Guard/Draw/Hit) and turn. When Track shot-by-shot scores for the opponent is on and the opponent lineup is set, the simple grid shows both teams: columns are grouped by Our team and Opponent, each with Guard Out/In, Draw Out/In, Hit Out/In; you can enter scores for both teams in the same grid.
- Both – The simple grid (with the same per-curler column shading, visible borders, and sub-column alternating shade) appears first; below it, the full Detailed form and navigate grid so you can refine any shot (e.g. change “Guard” to “Center Guard”) or add notes.
The URL updates when you change mode (e.g. ?mode=simple), so you can bookmark or share your preferred view.
Detailed mode (and when using Both)
- Context: The page shows End N · Shot M · [Curler name] so you know which end, which shot (1–8 for standard games or 1–5 for doubles), and which curler (from your lineup) you're scoring.
- Shot type: Choose Hit, Draw, or Guard (category-level) or a specific type (e.g. Hit & Stick, Hit & Roll, Freeze). The list is grouped by category, with the generic option (Hit, Draw, Guard) first in each group.
- Turn: Click In-turn or Out-turn for the shot (or press I or O on the keyboard).
- Score: Click a number from 0 to the game's scale maximum (e.g. 0–4 or 0–5), or press the number key. The scale is set when the game was created.
- Reference: When your administrator has set up a scoring rubric for the game's scale (0–4, 0–5, or 0–6), a rubric card appears beside the shot form. There is at most one rubric per scale. The two cards are side-by-side (each half the width) at viewports 768px and wider, and stack on narrower screens; when no rubric exists for your game's scale, the shot form uses the full width. The rubric card shows the description and scoring text for the shot type you selected (e.g. Hit & Stick). If you choose a generic type (Hit, Draw, Guard), the card shows the first specific type in that category. Use it to keep scoring consistent. If no rubric exists for your game's scale, the card is not shown.
- Keyboard shortcuts (shot type): Press H for first Hit type, D for first Draw type, G for first Guard type (when not typing in notes).
- Notes: Optionally add notes for the shot. Keyboard shortcuts do not run while you are typing in the notes field.
- Save shot: Click Save shot to store the shot (or press Enter or N). The form then advances to the next shot (or next end after the last shot of the end).
- Undo last shot: Click Undo last shot (or press U) to remove the most recently saved shot you entered.
- Navigate: Use the grid of buttons (E1–S1, E1–S2, …) to jump to any end and shot to view or edit. A check mark (✓) appears on slots that already have a shot saved. On small screens the grid scrolls horizontally. When Shot placement is On, the Navigate card is hidden; use the placement section’s shot buttons instead.
- Shot placement: Turn Shot placement On to record where each stone ended on the house diagram. The Shot placement toggle sits next to Scoring mode; when On, a Placement mode row appears below (Simple = delivered only; Full = delivered + moved stones). For Standard games you’ll see 16 shot slots per end (E1–S1 … E1–S16)—both teams’ stones in throwing order. Shot buttons are colored by team (your rock color vs opponent); the non-hammer team throws first (shot 1), so when you have hammer, your stones are shots 2, 4, 6, 8. Click a slot (or focus it and press P) to open the diagram. Use Place Shot (next to Save shot) to save the current shot and open the placement diagram in one step. Place the delivered stone (and in Full mode, mark any stones that were moved), then Done to save—or Next to save and open the diagram for the next shot (when placement is On in Detailed or Both mode). On the last shot of the last end, only Done is shown. If save fails, an error message is shown and the sheet stays open without advancing. Click outside the sheet or press Escape to save and close; use Cancel to close without saving. Diagram zoom is 100%–200% (slider); you can set a default zoom in Preferences (Shot placement diagram). When zoomed, the placement window is sized so the diagram fits without scrolling. The diagram shows the button (center), tee and hog lines, and a removed-stones zone: stones that went out of bounds or were burned appear along the backboard (our team left of center, opponent right of center). When more than five rocks of one color are removed, they wrap to a second row within the backboard zone so they never cross the centre line into the opposing team's space. In Simple mode the diagram shows only the stone you are placing for the current shot. In Full mode, ghost outlines show where moved stones started. Placement is optional; placement data is used in replay and (when available) coach views. When placement is On, the Navigate card is hidden; use the placement section’s shot buttons and the always-visible placement chart (board state before the selected shot) instead. Placing opponent shots: Even if you’re only scoring your team (track opponent scores off), you can still place opponent stones—the app creates placeholder opponent lineup rows when needed. When you open an opponent shot with no existing data, the default shot type is Position Only. Position only appears in the shot type list only when Shot placement is On; when placement is Off it is hidden. The score page uses the three-card layout: shot form (left), shot list (center), Place rocks (right). When Shot placement is On, the Place rocks card shows the diagram inline with Done and Next shot. Either Next Shot button (left card or Place rocks card) saves both the shot form and the placement diagram when either has changes, then moves to the next shot. The shot list scrolls within its card. When Shot placement is Off, the Place rocks and Shot placement cards are hidden; you see only the shot form and rubric. When you are only scoring your team (track opponent scores off) and placement is Off, saving a shot advances to your team's next shot (e.g. E1-S1 → E1-S2); with placement on or when scoring both teams, shot order is 1–16 per end (standard) or 1–10 (doubles). Save shot and Undo last shot on the left card are the same size. For Doubles, a Power play (this end) block above the shot list lets you set or change power play and placement side for the current end. Visiting /games/[id]/score2 redirects to /games/[id]/score with the same options.
- Thinking time (optional): If you checked "I will measure thinking time for this game" when creating the game, a Thinking time section appears. On the v1 score page it is below the shot form: for each end you enter one set of pairs (up to 15 lines standard, 9 doubles); format start time TAB stop time (e.g.
0:04:52 0:05:00); click Save thinking time. On the v2 score page, thinking time is in a collapsible section in the end panel (press T to open/close): manual entry by pasting tab-separated start/stop lines and clicking Apply, or by editing the pair table; Clear removes all pairs for that end. Live stopwatch entry is planned (UI may show "coming soon"). In both v1 and v2: the non-hammer lead's first shot is not tracked; the app uses hammer per end to split our team vs opponent for stats. If you entered a YouTube stream URL, the app shows Start and Stop links for each pair that open the video at that timestamp — on v2 these links appear automatically below the pair table once valid timestamps are entered. When any end has thinking time, the score page shows a Thinking time by team and position summary; team statistics show both our team and opponent by position. - Diagram rotation: The house diagram in the placement panel (score v2) and the replay view both include a rotate button (⟳) in the control bar beside the zoom controls. Click it to flip the diagram 180 degrees so the hack appears at the top and the hog line at the bottom — useful when you want to view the house from behind. Click again to return to the standard orientation. The button shows a highlighted state when rotation is active.
- Mobile: On phones and small screens, the shot pad uses larger tap targets, full-width Save shot, and a scrollable navigate grid so you can score at the ice easily.
Replay
When shot position data has been recorded for a game, you can step through each end stone by stone on the Replay page. Open a game and click Replay (or Add/Edit shot positions → Replay).
- End selector – Choose which end to view from the dropdown. The diagram shows the board state at the selected moment in that end.
- Previous / Next – Step backward or forward one shot at a time. When more than one end has placement data: pressing Next on the last shot of an end automatically loads the first shot of the next end; pressing Previous at the start of an end (before shot 1) loads the last shot of the previous end. Previous is disabled only at the very beginning of the first end; Next is disabled only at the very end of the last end.
- Shot timeline slider – Drag to jump directly to any shot in the current end.
- Play / Pause – Animate through all shots in sequence (one shot per 1.2 seconds, or instant if you prefer reduced motion). Playback continues across ends automatically.
- Zoom (− / +) – Zoom the house diagram to 100%, 150%, or 200%. At higher zoom levels the diagram scrolls within its container so you can see fine stone positions.
- Overlay – A label at the bottom of the diagram shows the end and stone number, the curler who threw, and the shot type and score. Before the first shot it shows "Before first shot."
- Stone indicators – The stone that was just thrown is highlighted; ghost outlines show where moved stones started before the delivery.
- Removed stones – Stones that went out of play or were burned appear along the backboard (our team left, opponent right). When more than five rocks of one color are removed, they wrap to a second row.
- Dark mode – The sheet area shows a white background in dark mode so ring lines are clearly visible.
Coaching
The Coaching section is available only to users who have been granted Coaching access (admins have access by default). If you don’t see Coaching in the sidebar, ask your administrator to grant you access via Admin → Coaching access.
Opening Coaching
- Click Coaching in the sidebar (under the Coaching group).
- You’ll see Search drills & resources, Suggest a resource, and a list of teams you can access. Click a team to open the team coaching hub.
Search drills & resources
Use the Search drills & resources box on the Coaching page to find drills and links by describing what you want (e.g. “draw weight”, “guard placement”, “strategy”). Enter your query and click Search. Results are ordered by relevance and open in a new tab via Open link. Search uses semantic matching (natural language); if no results appear, try different words or ask your administrator whether embeddings have been backfilled for existing resources.
Suggest a resource
You can submit a drill or link for the coaching library. On the Coaching page, fill in Suggest a resource: URL (required), Title (required), and optional Note. Click Submit. An administrator will review your suggestion; once approved and tagged with focus areas, it appears in the pool of suggested resources and in search results.
Team coaching hub
- Team suggestions – Rule-based focus areas and suggested resources (drills, links) based on the team’s stats (e.g. hammer efficiency, steal/force, team shooting %). Focus areas appear as badges (e.g. Strategy, Weight control, Getting started).
- Goals – You can add goals (metric, target value, optional deadline) for the team or for a curler. When the Virtual Coach suggests goals (e.g. after an assessment), they appear with status Suggested. For suggested goals you can Accept (make active), Modify (edit target or deadline then save), Decline (mark as abandoned, with confirmation), or Delete (remove permanently, with confirmation). The list refreshes after each action.
- Curlers – A list of curlers on the team. Click a curler to see their curler-level suggestions.
Curler suggestions
On a curler’s coaching page you’ll see:
- Focus areas – Derived from that curler’s shot stats (guard, draw, hit, weight control, turn balance, etc.).
- Suggested resources – Drills and links tagged to those focus areas. Each card shows title, description, difficulty (for drills), and an Open link button to the external resource (e.g. Scottish Curling PDF, Try Curling).
- Narrative (when enabled) – When your administrator has enabled the optional AI narrative feature, a short 2–3 sentence summary may appear explaining why these focus areas and drills are suggested.
- Mark done – For drills, click Mark done to record that you completed the drill. You can enter how many times you did the drill (default 1). The page then shows Completed N times for each drill (the total number of times you've logged for that resource in this context).
- Thumbs up / thumbs down – Use these to rate whether the suggestion was helpful.
Suggestions depend on recent stats: a minimum number of games (for teams) or shots (for curlers) is required for personalized focus areas. If there isn’t enough data, you’ll see Getting started and a small set of generic resources. The order of suggested resources is improved using completion and feedback: resources that are completed more often and get more thumbs-up tend to appear first.
Exporting data (CSV)
You can download your data as CSV files for backup or use in a spreadsheet.
- Game export: On the game detail page (after opening a game from the dashboard or team), click Export game CSV. The file includes the game summary (team names, date, rock colors, concession, etc.), end scores, every shot from all scorers (end, shot number, curler, shot type, turn, score, notes), and—if thinking time was recorded—per-end thinking time with optional YouTube timestamp URLs. You can only export games you own or that you are invited to score.
- Stats export: On the team stats page (View stats from a team), click Export stats CSV. The file includes the team summary (games played, total shots, shooting %) and a table of curlers with their stats for the currently selected period (Lifetime or the chosen season) and game format (All, Standard, or Doubles) if you have that filter set. Exports only include data for teams you own.
- Full backup (all your data): From the dashboard, use Export all my data to download a single JSON file containing all your teams, curlers, seasons, games, and shots. Use this for backup or to move your data to another account or device. You can restore it later with Import data.
Importing data
- Restore from backup: On the dashboard, click Import data (or open the Import page). Choose Restore from backup (JSON), select your previously exported JSON file, and click Import. New teams and games will be created under your account; your existing data is not modified or deleted.
- Import a game from CSV: You can create one game from a CSV file that matches the app's game export format (game summary, end scores, shots, and optional thinking time). On the Import page, choose Import as new game (CSV), select your team (and optional season), upload the CSV, and click Import.
- Import shots into a game: To add or overwrite shots in an existing game, choose Import shots into existing game (CSV) on the Import page, select the game, upload a CSV with columns for end_number, shot_number, curler_name, shot_type, turn, score, and notes, then click Import.
Navigation
- Header – Breadcrumb on the left shows where you are (e.g. Dashboard, Teams, Games). When viewing a game or a curler's stats, the breadcrumb shows the game name (e.g. "Our Team vs Opponent") or curler name instead of IDs. On the right: theme toggle (sun/moon) to switch light/dark mode, and your account menu (profile and sign out).
- Sidebar – Dashboard, Preferences, User Manual, Teams, Curlers, Games, Seasons, New game, Stats; each link has an icon. Sections are grouped (Overview, Teams & games, Analytics). The current page is highlighted. If you are an admin, Admin appears at the bottom.
- Dashboard – Home; a Get started card may appear at the top when the preference is on; quick links to Teams, Games, Seasons, New game, Export, and Import; recent games list; counts for teams and total games.
- Preferences – Theme (light/dark), show Get started / onboarding card on login, default shot scoring mode, default placement mode (Simple/Full) and default placement diagram zoom (slider 100%–200%), and curling diagram ring colors. Changes save automatically.
- Teams – List and manage your teams.
- New game – Start a new game (team selection and full setup).
- View stats – From a team’s detail page, opens that team’s statistics (season/lifetime, summary, and curler list). Filters include Period (Lifetime or a season), Game format (All / Standard / Doubles), Game type, and Date range (From/To to limit all displayed stats and the export CSV to games in that period). A Scoring & game situations section (when you have games) includes: cumulative score progression (line chart of running points for/against, with visible lines and points), scoring by end number and blank end rate side by side, power play usage and impact (only when the period includes doubles games), comeback wins and lost after leading counts, points-per-end distribution (0, 1, 2, 3, 4+), game situations summary and points-per-end distribution side by side, shooting by category over time (line chart of Guard/Draw/Hit % by game), and first half vs second half of the period comparison. Games played links to a games list for the same period (each game shows Result: W, L, or T); With hammer and Without hammer link to a per-game hammer breakdown (columns include Scored w/ hammer, Scored 2+ w/ hammer, and percentages such as hammer efficiency, steal defense, force efficiency, steal efficiency next to the raw numbers); Thinking time by position links to a dedicated page that lists the curlers and their averages under each position (Lead, Second, Vice, Skip). When you have recorded thinking time (one set of pairs per end on the score page), team stats show both Our team and Opponent thinking time by position (derived from who had hammer each end). From the curler table you can open each curler’s detailed stats (including By position and Average thinking time by position when they have that data, and a sparkline of their last games on the Normalized avg card).
- Edit game – On the game detail page, team owners and collaborators see Edit game. Click it to change location, sheet, or YouTube stream URL (and optionally other metadata) after the game was created. Lineup and shot data are not changed.
- Version and Changelog – At the bottom of the sidebar you see the app version (e.g. v1.4.0). Click the version to open the Changelog in a popup and read what’s new.
Use the Back links (e.g. "← Back to teams", "← Back to team stats") to return to the previous list or page.
Tips
- Create at least one team and add curlers before creating a game, so the lineup can be filled automatically.
- Hammer in first end is by rock color (e.g. "Red" or "Yellow"), so you don't have to remember "us" vs "opponent"—just pick the color with last stone.
- When Track shot-by-shot scores for the opponent is on and the opponent lineup is set, the score page in Detailed mode shows all 16 shots per end (standard) or 10 (doubles). Each shot is labeled Our team or Opponent with the correct curler name; you can enter and edit scores for both teams. In Simple mode, the grid shows both teams (columns grouped by Our team and Opponent) so you can enter scores for both in the same grid.
- If you're not sure whether you'll track opponent shots, you can leave "Track shot-by-shot scores for the opponent" unchecked; you can still record your team's shots.
Getting help
- For account or access issues, contact your app administrator.
- For feature requests or bugs, use your organization's usual channel (e.g. support email or issue tracker).