SpeedSkateMeet is an all-in-one platform for running inline speed skating meets. It handles registration, heat assignments, race day management, live scoring, text alerts, and results — all from your browser.
Contact Lee at LBird@speedskatemeet.com or submit your meet at /submit-meet. Once your listing is approved we'll reach out to get you fully set up.
Save Meet saves all your settings — name, date, venue, distances, toggles — without touching your races or block assignments. Use this whenever you update meet details.
Generate Blocks creates all races from your division settings. It will clear your existing block assignments, so only run it when you're ready to start fresh. It shows a confirmation dialog before doing anything.
Rebuild re-splits heats and reassigns lanes based on current registrations, while preserving your block structure. Use this after check-in to rebalance heats with skaters who actually showed up. It also automatically distributes skaters from the same team across different heats.
D1, D2, and D3 are the three distance races per division per day — short, middle, and long. For example: 300m, 500m, 1000m. All three count toward overall standings points.
Novice and Elite are skill-based classes within each age group. They race separately and have separate standings. Skaters self-select their class when registering, or the director assigns it.
Challenge Up allows a skater to race in a higher age division than their own. It's optional and the director controls whether it's available for their meet.
When two skaters are tied on total points, the tiebreaker determines the winner. D2 (default) uses the skater's place in the middle distance race. SR832 uses the full USARS SR832 formula with weighted scores across all three distances.
Open races are rolling-start pack finals with no lane cap. Any number of skaters can enter. Results are placement only — no points toward overall inline standings. Great for exhibition races or open divisions.
Quad races are for quad skates (4-wheel inline). They use 30/20/10/5 point scoring and have their own separate standings bucket. Heat splitting works the same as inline.
Time Trials are individual races against the clock. Skaters go one at a time, judges post their time, and the system auto-sorts by fastest time. No lanes — judges just post times as skaters finish. Results show a live top 3 leaderboard.
Relay races are fully manual — the director creates the race with a name and distance, and judges fill in team names, skater names, and places on race day. Relay results show in their own section and don't count toward individual standings.
Click "Generate Blocks" to create all races from your division settings. Then click "+ Add Race Block" to create blocks (groups of races). Drag races from the Unassigned pile on the right into your blocks. Add dividers like Break, Lunch, Awards, and Practice between blocks.
🏁 Orange = Open race. 🛼 Purple = Quad race. ⏱ Blue = Time Trial. 🔄 Blue = Relay. Plain white = standard inline race.
Click "Print Race List" in the Block Builder toolbar. It opens a clean printable page with all blocks, dividers, and lane assignments. Use your browser's print function (Cmd+P on Mac).
Rebuild re-splits heats based on current check-ins and reassigns lanes. Your block structure is preserved — races stay in their blocks, only the lane assignments inside each race update. Always confirm after check-in closes before starting race day.
Once you publish your meet, a public registration page is available at speedskatemeet.com/meet/[id]/register. Share that link with your skaters. Directors can also register skaters manually from the Registered tab in the portal.
The system uses the USARS SR150.1 rule — a skater's competitive age is calculated as the meet year minus their birth year (January 1 cutoff). So a skater born in 2015 competing in a 2026 meet is age 11, regardless of whether they've had their birthday yet.
No — Check-In is completely optional. You can go straight from Block Builder to Race Day and everything works fine. All registered skaters appear in the judges panel regardless. Check-In is only useful if you want to Rebuild heats after no-shows — it lets the system rebalance with only skaters who actually showed up. If you skip it, empty lanes just get skipped by the judge on race day.
Go to the Check-In tab. Find each skater as they arrive and toggle them as checked in. After check-in closes, go to Block Builder and hit Rebuild to rebalance heats with actual attendees.
Helmet numbers are assigned in the Registered tab. You can assign them individually or use the auto-assign button which numbers skaters sequentially. Numbers show on the judges panel, live board, coach panel, and text alerts.
On the Director panel, click "Next →" to move to the next race. You can also use the dropdown to jump to any race directly. The judges panel always shows the current race automatically.
On the Judges panel, enter places (and times for TT) for each lane. Click "Save" to save without closing, or "Close Race" to finalize the result and trigger text alerts to parents.
On the Director panel, click "📺 TV Display" to open the full-screen scoreboard in a new tab. On your iPad or Mac, use AirPlay to mirror that tab to your Apple TV. The display auto-refreshes every 4 seconds.
If a race was closed by mistake, the director can unlock it to re-open it for editing. The race goes back to open status and the director panel moves back to that race.
In Staging means the skater is one race away — they should be at the staging area right now getting ready. The system sends a text alert when a skater hits In Staging so parents and coaches know to get them to the line.
On the public meet page, click the "📲 Text Alerts" tab. Select the skater from the dropdown (type to search by name), enter a cell phone number, and click Sign Me Up. A confirmation text fires immediately.
Reply STOP to any text message. Twilio handles unsubscribes automatically.
Alerts fire automatically when the director advances the race using the Next button. Result alerts fire when a judge clicks "Close Race". No manual action needed from the director.
Coaches log in and see a portal specific to their team. They can see all meets their skaters are registered for, upcoming races with lane assignments, recent results, and team standings.
The coach account has a team name assigned to it. Any skater registered with that same team name will appear in the coach's panel automatically.
Racing Soon shows your team's upcoming races in order, color-coded by urgency — orange for the current race, red for In Staging, yellow for 2 races away. Lane numbers are shown for each skater. The panel auto-refreshes every 8 seconds during race day.
Standard USARS inline points:
Only standard inline races (D1, D2, D3) count toward overall standings. Open races, Quad races, Time Trials, and Relay races are all placement-only and have their own separate results sections.
When two skaters are tied on total points, the system looks at their place in the D2 (middle distance) race. The skater who placed higher in D2 wins the tiebreaker. This is the default and most commonly used method at local meets.
SR832 is the full USARS tiebreaker formula. It assigns weighted scores to each place across all three distance races, with different weights for short, middle, and long distances. The skater with the higher weighted total wins. Enable SR832 in Meet Builder under Tiebreaker Settings.
The TB (Tiebreaker) badge on the results page means two or more skaters were tied on points and the tiebreaker was used to determine final placement. If skaters are still tied after the tiebreaker, a run-off race is required.