Built for hockey, not generic sports
Run your hockey program without the spreadsheets.
Roster, schedule, live scoring, registration, and a public team page — all in one place, all in your colours. Set up in an evening, not a season.
- Free for one team, forever
- No credit card
- Your logo, your colours
- Works with your existing site
Game sheet
tap a goal button ↑
- P1 12:04#9 PatelA: #27 Andreev
- P1 3:41#11 OkaforA: #8 LindqvistPP
- P2 16:50#44 SinghA: #9 Patel
2–1
updates live
1st · 24 pts
recalculated
Sound familiar?
- The scoreboard laptop died mid-game and the box score is gone.
- Three spreadsheets for who's coming to Saturday's practice.
- “When's the game?” — for the tenth time this week.
- Game sheets that got rained on and are now illegible.
- Registration cheques in a shoebox.
- Standings updated at midnight, by hand, by the same volunteer every year.
Up and running in an evening
Three steps. No IT department.
- 1
Create your organization
Name, logo, colours, timezone. Add your teams and seasons. Import last year's roster from a CSV or type it in — either way it's minutes, not days.
- 2
Invite coaches and managers
Each team's staff get their own login and see only their team. Coaches build the schedule and score games from their phone; parents get a read-only view.
- 3
Publish and embed
Turn on the public team page, or paste one snippet into your existing WordPress, Wix, or Squarespace site. Change a colour or layout once and every embed updates.
One platform · six surfaces
Everything your league needs.
Nothing it doesn't.
Roster & player profiles
Jersey numbers, positions, heights, hometowns, headshots, highlight reels. CSV import for day-one setup.
Learn moreLive scoring from the bench
Score on a phone at the glass: goals, assists, penalties, period clock. The public page shows LIVE the second you tap start.
Learn moreSchedule & practices
Seasons, games, practices and tryout skates, with opponent logos, rink addresses and one-tap directions.
Learn moreStats that update themselves
Goals, assists, points, PIM, save percentage — all derived from game sheets. No manual entry, no math errors.
Learn morePublic pages & embeds
A polished page for every team, plus drop-in widgets for your existing website. Branded with your colours and logo.
Learn moreOnline registration
Custom forms, Stripe Connect payments, early-bird pricing, sibling discounts, automated receipts. Funds land in your account.
Learn moreGuided tour · 60 seconds
See it run, surface by surface.
Click a tab or let it play. Everything shown is a real screen in the product.
Roster
Headshots, numbers, positions, staff — import a CSV and you're done.
- LP9Logan PatelC28
- MA27Maxim AndreevLW22
- JS44Jaspreet SinghD18
- EM31Eli MoreauG.921
Your brand, your domain
Public pages that look like yours, not ours.
Pick your colours once. They flow through the public team page, every embed on your existing website, and the dashboard your coaches use. Try it.
- Full white-label — colours, logo, hero image
- Drop-in embeds for WordPress, Wix, Squarespace
- iCal feeds so parents' calendars update themselves
- Recaps, standings and top scorers, public by default
Presets
In the real product these are saved once and flow to your public pages, every embed, and the dashboard.
2026/27 · U15 Tier 1
Abbotsford Venom
11-3-0 · 24 PTS · 1st of 8
Sep 21
vs Surrey
W 4–1
Sep 26
vs Langley
7:00 PM
Sep 28
@ Surrey
2:30 PM
Not a mockup
These are real embeds, live from a demo club.
The same three lines of HTML a club pastes into its own website. Standings and the schedule update the moment a score is entered.
Demo data, updated live from HockeyOS. Scores and names are fictional.
Built for the nights that actually happen
The moments HockeyOS was made for.
Tournament weekend
Saturday, 14 games across 3 rinks
Scorekeepers run game sheets from their phones at the glass. Standings and brackets recalculate on the public site the second a game ends — nobody is retyping results into a spreadsheet at midnight.
Tryout night
Tuesday, 60 skaters, 4 evaluators
Every evaluator scores from their own phone with a private link. Rankings roll up by category as the skate happens, so cuts and callbacks are a sorted list — not a stack of clipboards to reconcile.
Registration season
September, 200 families
One link does the form, the waiver, the sibling discount, and the payment. Money lands in the club's own Stripe account, and the waitlist manages itself when a division fills.
Plays nicely with what you already use
- WordPress · embed code
- Elementor · HTML widget
- Wix · embeds
- Squarespace · embeds
- Stripe · registration payments
- Google & Apple Calendar · iCal subscription
- Google Maps · rink directions
- Web push · game-day alerts
Straight answers
Questions we get from every league.
Pricing details, plan limits, and payment processing are covered on the pricing page. Anything else, ask a human.
Contact usIs there really a free plan?
Yes. One team with up to 25 active players and 3 staff accounts, free forever, no credit card. Players, parents, and coaches are never billed on any plan.
Can we keep our existing website?
Yes — that's the normal setup. Paste the roster, schedule, standings, or header-strip embed into any page on your current site. Colours, layout, and links are saved in HockeyOS, so changing them there updates every embed without touching your site again.
Who scores the games, and from what?
Anyone you give the coach or manager role — from a phone behind the bench or at the glass. Goals, assists, penalties, and the period are entered live; stats, standings, and the public schedule update on their own.
Where does registration money go?
Straight to your club's own Stripe account. HockeyOS never holds your funds. Early-bird pricing, sibling discounts, waivers, and waitlists are built into the form.
What about the other teams' logos and our rink addresses?
Opponents are stored once per organization with their own logo and abbreviation, so every game against them shows it. Each game can carry a rink address that becomes a Directions link for parents.
Can we leave and take our data with us?
Yes. An admin can export the organization's full data as JSON at any time from settings, and can permanently delete the organization.
Stop running your league on group texts and Excel.
Set up your organization in minutes. Free forever for a single team.