C COACHLY · HELP

Help center

Learn Coachly by doing it

Each post covers one feature; the Drill Board posts have a working mini-board inside them. The toolbars, icons, artwork, and line styles are the board's own — what you see here is what's on the ice.

← All posts

Orientation

Getting around the Drill Board

The board is built around the ice; everything else floats at the edges. Below is the actual board chrome. Tap any button, tab, or mode to see what it is.

The board Tap anything
← All posts

Surfaces

Choosing a surface

Open the surface picker in the tabs bar (it shows the current surface, e.g. Full Ice). The drill remembers which surface it was drawn on.

Surface picker Pick one
SportSurfaces
HockeyFull Ice · Half Ice · Cross-Ice (3 zones) · Goalie Zone (end) · Neutral Zone · Face-off Zoom · Crease Zoom · Clean Slate
SoccerFull Pitch · Half Pitch · Penalty Box · Clean Slate
LacrosseFull Field · Half Field · Box Lacrosse · Clean Slate
BasketballFull Court · Half Court · Clean Slate
FootballFull Field · Red Zone · Clean Slate
BaseballFull Field · Infield · Clean Slate

Clean Slate is a blank surface with a thin outline and no markings. Realism (left rail) toggles a photographic look. Your team logo appears at centre ice on the full surface once uploaded on the Team page.

← All posts

Drawing

Drawing routes and lines

Pencil P is freehand; Line L is point-to-point. The style bar below is the board's own, and the lines are drawn by the board's own renderer.

Try it Draw, then change the style in the bar
StyleMeans

Six colours and a size from 1 to 4. Pick them before you draw, or select a line afterwards and change them.

iPad

The Apple Pencil's pressure changes the stroke weight — light for a faint note, firm for emphasis.

← All posts

Players & stamps

Placing players, pucks, and equipment

Stamps are single-tap: pick a tool, tap the ice. The stamps below are the board's own artwork, and the colour / number-badge controls are the real style bar. Drop a net on the right half and it turns to face the play.

Try it Pick a stamp, then tap the ice
← All posts

Editing

Selecting, moving, and restyling

  1. Pick Move V — the arrow, first in the dock.
  2. Tap an object to select it; drag to move it.
  3. Selected lines show anchors — drag an endpoint to shorten or redirect.
  4. With something selected the style bar comes back: colour, style, ending, size apply to the selection.
Try it Drag the player · tap the line, then drag its end
Heads-up

You can only grab an object with the Move tool. With a stamp tool active, tapping a player places another player.

← All posts

Rotating

Rotating objects

Nets, cones, sticks, hooks, bumpers, stickhandling lines, and every goalie stance rotate. Select one with Move and you get two ways to turn it — the rotate group below is the real style bar's.

Try it Use the buttons, or drag the knob above the net
← All posts

Erasing

Erasing

The Eraser E works two ways: tap a stamp, line, or arrow to remove the whole object; drag across a pencil route to erase only the part under the eraser. The red circle is the eraser.

Try it Drag through a route · tap the pylon

The Size slider sets the eraser's width. One ⌘Z restores a whole erase drag. To shorten a straight line instead, drag its endpoint with Move.

← All posts

Saving

Saving, tabs, and the drills drawer

Once a drill has been saved, every change saves itself — the pill in the tabs bar flips from Unsaved to Saving… to Saved. A new drill needs one first save. Walk through the save flow below.

Save flow Fill it in like the real modal
← All posts

Motion

Animating a drill

Motion turns a drill into a short animation. You set a few moments (frames); Coachly fills in the skating between them with a natural ease. Below: the motion toolbar, then a two-frame drill — drag the players in frame 2, then press play.

Try it Frame 2 → drag players → Play
  1. Draw the starting picture in DRAW, then tap MOTION on the left rail.
  2. Tap Add frame A. Everything carries forward. Drag players to where they go next.
  3. Press Space. Add more frames for the next moments.

Record

Drag-to-animate. Turn Record on, move as many players as you like, turn it off — that's one new moment. Nothing moved? Nothing added.

Route — a curved path

On the frame where the move starts, tap Route (it grabs the pencil), draw a curved line from the player to where it ends up in the next frame, and press play — the player follows your line. Only curved lines count. Toggle the route in the demo above to compare.

Everything else

Loop, the scrubber (drag to preview any moment), Delete frame Delete, between frames, ⌘D duplicate, and under More ⋯: onion skin, hide paths on play, speed, frame time, blank frame, export video.

Tip

Three or four well-placed frames read better than ten — the easing handles the skating in between.

← All posts

Presenting

PLAY mode

PLAY at the bottom of the left rail presents the saved drill full-screen for the bench, a TV, or a projector — a big clean rink, the name and coaching cues, and a countdown set from the drill's minutes. Animated drills play their motion. Try the timer.

Timer card As it appears in PLAY

PLAY presents the saved drill — save a sketch first. You can also start it from a drill's preview in the drawer (Practice), or run a whole practice plan from the Practice Plans page.

← All posts

Sharing

Print, export, and share

← All posts

Toolbar

Using the toolbar

The dock keeps everyday tools one tap away and tucks the rest into flyouts. This is the real dock, shown expanded the way it is after you tap : every tool in one row. Tap to fold it back to the compact pill, then tap Shapes & Stamps, Overlays, or Players to open a flyout, or Goalie to swap in the stances.

The dock Tap the tools
← All posts

iPad

On the iPad

Pencil pressure Drag the slider to preview stroke weight
← All posts

Roster · Schedule

Importing a roster or schedule

You don't have to type a team in. Roster ▸ Import takes a player list and Schedule ▸ Import takes a season — from a spreadsheet, your league or association's export (TeamSnap, SportsEngine, RAMP, Google Sheets, Excel), or a calendar file. Column order doesn't matter and headings don't have to match ours: you match them in the second step.

  1. Source
    Choose a file, drop it on the dialog, or just copy the cells in your spreadsheet and paste. CSV and TSV work for both; the schedule also takes an .ics calendar export. Each dialog links to an example CSV if you'd rather start from ours.
  2. Match columns
    Every Coachly field shows the column we think it matches, with sample values beside it. Fix any guess with the dropdown; pick skip for columns you don't want. Only Name (roster) or Date (schedule) is required. Untick "First row is a heading row" if your file starts straight with data.
  3. Preview
    Every row is checked before anything is saved. Rows with a problem (no name, a date we couldn't read) are skipped and say why; warnings (an email that looks wrong, a jersey number someone already wears) are still imported. Dates like 09/10 show a month/day vs day/month switch when the file is ambiguous.
  4. Import
    One click. The roster or schedule updates immediately and you get a count: added, updated, skipped.

Roster files

Name can be one column or First + Last ("Park, Owen" is understood). Positions accept plain words — Forward, Defence, Goalie — as well as F, C, LW, RW, D, LD, RD, G. Put parents in Parent 1 / Parent 2 columns (Mother / Father, Mom / Dad, Guardian 1 / 2 are recognised too); an email cell may hold several addresses separated by commas. Those contacts are what attendance requests go to, and each new address gets a one-time welcome email explaining what to expect (untick "Send a welcome email" in the preview to skip it). Players already on the roster are updated (matched by name, or by jersey number when the name clearly refers to the same player) rather than duplicated — untick the option in the preview if you'd rather skip them.

Schedule files

Date and time in almost any format — 2026-09-14, 9/14/2026, Sept 14 2026, 6:30 PM, 18:30. Type (game / practice / event) is read from the title when there's no Type column: "vs Flames" or "@ Storm" becomes a game with the opponent and home/away filled in, "Skills practice" a practice, "Parents meeting" an event. From a calendar file, repeating events ("every Tuesday until Oct 23") are expanded into their dates, exclusions respected. Entries already on the schedule — same date, time and opponent or title — are skipped, so importing the league's updated file mid-season only adds what's new. Big files are fine; a full season of 600 entries imports in under a second.

Who can import

Coaches and team managers. Players, parents and game managers see the roster and schedule but not the Import buttons.

← All posts

Schedule

Attendance & RSVPs

Attendance lives on the Schedule page. Every game, practice and event has its own attendance sheet, and there are two ways it gets filled in: parents and players reply (by email or in the app), and you take attendance at the rink. Both land in the same place.

Before the season: put emails on the roster

Attendance requests go to the contacts on each player's roster card — as many as you like: Parent 1, Parent 2, a guardian, the player themselves. Open Roster, edit a player, and fill in each contact's name, phone and email (an email field can hold several addresses, comma-separated). Every contact with an email gets their own one-tap link, and the sheet shows who replied. New contacts get a short welcome email when you add them (once per address, and you can untick it): who added their player, what to expect, and a parent/player link to join the team in the app — that link can only ever grant parent or player access, never coach. Importing a CSV with "Parent 1 email" / "Parent 2 email" (or Mother / Father) columns does this for the whole team at once — Roster ▸ Import.

  1. Send the request
    On the Schedule, open the entry and click Take attendance, then Send request. You'll see exactly who will be reached and who has no email on file before anything goes out. Add an optional note ("full gear", "arrive 30 min early").
  2. Parents reply with one tap
    Each contact gets an email with three buttons — Going, Maybe, Can't make it. No account, no sign-in. Tapping records the reply instantly; they can change their mind from the same email any time before the event.
  3. Watch the replies land
    The schedule row shows a running count ("9 going · 2 maybe"). Inside the attendance sheet each player is marked replied by email, replied in app, sent (no reply yet) or blank (no email on file). Send again re-sends to everyone who hasn't replied — handy two days out.
  4. Take attendance at the rink
    On the day, open the same sheet and mark each player Attended or Absent (or use Set all to). That overrides the RSVP, and it's what the season stats use — average attendance on the Schedule page and the per-player history.

Who can do what

RoleAttendance
CoachEverything: send requests, see every reply, take attendance, change any player's status.
Team managerSame as a coach for attendance — send requests and take attendance — without access to drills or practice plans. Perfect for the parent who runs the bench.
Game managerSees the schedule and the counts; can't send requests or edit attendance (they track shots and stats instead).
PlayerSees the schedule and replies for themselves — by email, or with the Going / Maybe / Can't buttons on the Schedule page once they've linked their roster card.
ParentReplies for their child the same way. A parent can link more than one child.

Roles are set on the Team page — pick the role when you send an invite link, or change it later in the member list. The "Who can do what" card there shows the full picture.

What players and parents see

When a player or parent joins from your invite link, the app opens on the Schedule with a one-line question — Which player is your child? They pick the name from the roster once; after that every upcoming practice and game shows their Going / Maybe / Can't buttons, and their reply shows up on your sheet the moment they tap.

Good habits

Send the request as soon as the event is on the schedule, then Send again 48 hours out. Keep roster emails current — the request preview tells you who's unreachable. Take attendance at the rink even when everyone replied; "going" isn't "showed up", and the stats only count what you mark.

← All posts

Reference

Keyboard shortcuts

Press any key while this post is open and its row lights up.

KeysAction
VMove (select)
PPencil
LLine
TText
EEraser
SPlayers flyout
RShapes & Stamps flyout
GGoalie mode
CCircle stamp
15Player tool: number badge · Pencil/Line: size
16With an object selected: colour swatch
Shift+15With a line selected: ending
⌘Z / ⌘⇧ZUndo / Redo (also ⌘Y)
⌘SSave
SpaceMotion: Play / Pause
AMotion: Add frame
Motion: previous / next frame
DeleteMotion: delete current frame
⌘DMotion: duplicate frame

On Windows, use Ctrl wherever is shown.