Changelog
A running log of updates to Forecheck Hockey.
April 1, 2026 — Massive Feature Update
Equipment Guide
- Full equipment page (/equipment/) — 40+ items across 6 categories (Skates, Sticks, Helmets, Gloves, Protective, Goalie). Filter by level, side-by-side comparison, sizing guides.
Watch Party Enhancements
- Sound effects — goal horn, buzzer, referee whistle, organ charge. Plays for everyone in the room.
- Game timeline — live scoring updates from NHL games auto-populate when games are in progress.
Workout Progressive Overload
- Progress tab — SVG line chart showing max weight over time per exercise. Data table with date, weight, reps, sets, volume.
- Data logged automatically when completing workouts with weights.
Pre-Built Play Library
- 13 plays in the Rink Board — breakouts, forechecks, power play, penalty kill, offensive, and defensive formations. One-click load onto the board.
Playoff Race Tracker
- Expandable section on the Standings page showing clinched/eliminated/points back for each conference.
Injury Dashboard
- Aggregated injury report for all My Teams on the Today page.
Other
- Roster age chart function for team pages
- Game of the Night auto-detection on schedule page
- Blog post covering all updates
- PWA service worker updated (v3) with new pages precached
April 1, 2026 — Navigation Restructure
New Site Structure
- 4 top-level sections — Learn, Tools, Fan Zone, Resources (up from 3). The overcrowded Tools dropdown has been split into Coaching Tools and Fan Zone.
- Tools — now focused on coaching and team management: Rink Board, Tournament Brackets, Player Evaluations, Game Sheet, Attendance Tracker, Workouts.
- Fan Zone (/fan-zone/) — new section for live data and entertainment: Today's Hockey, Game Schedule, Standings, Teams, Predictions, Watch Party, My Teams, Hockey News, Podcasts.
- Updated header, mobile hamburger menu, footer, features page, and hub pages to match the new structure.
- No URL changes — all existing links continue to work.
April 1, 2026 — Schedule Calendar, Team Compare, Polls, Countdown, Export
Schedule Page Expansion
- Past & future games — browse any date, not just today. Past games show final scores, upcoming games show start times.
- Three views — Day view (full game cards), Week view (7-day strip with compact scores), Month view (calendar grid with league dots).
- Date navigation — prev/next buttons, "Today" jump, native date picker for any date.
- Enhanced game cards — venue name, broadcaster info, and tickets links (PWHL/AHL). Start times for upcoming games.
- Month calendar — colored dots per league (NHL blue, PWHL purple, AHL red). Click any day to see that day's games.
- My Teams filter — toggle to show only your selected teams' games across all views.
- Smart auto-refresh — 60-second live refresh when viewing today, no refresh for past/future dates.
- Caching — PWHL/AHL data cached per month (cheap via HockeyTech JSONP). NHL cached per day (ESPN). Past months cached 24 hours.
Team Comparison Tool
- Compare Two Teams — select any two NHL teams on the Teams page. Side-by-side comparison of points, wins, losses, OT losses, goals for/against, goal differential, win %, streak, L10, and division rank. Winning stats highlighted green, losing grayed out. Summary tally shows which team leads overall.
Watch Party Polls
- Live Polls — create a question with 2-6 options during a watch party. Synced to all room members via WebRTC. Vote once per poll, see real-time results with percentage bars. Polls appear inline in the chat feed.
Next Game Countdown
- Live Countdown on the Today page — shows a real-time countdown (hours, minutes, seconds) to your next My Teams game with the matchup and venue info.
Data Export/Import
- Export Backup — download all Forecheck Hockey data (teams, predictions, workouts, routines, settings) as a single JSON file.
- Import Backup — restore from a backup file to transfer data to another device or browser.
March 31, 2026 — Prediction Badges, Workout Timer, Daily Digest
Prediction Games Expansion
- Confidence Picks — rate each pick as Low, Medium, or High. High-confidence correct picks earn +2 bonus points; wrong high-confidence picks cost -2.
- Streak Challenges — active streak banner challenges you to hit the next milestone (5, 10, 20). Motivational messages update in real-time.
- 12 Achievement Badges — First Pick, Hot Streak (5), On Fire (10), Unstoppable (20), Regular (25 picks), Veteran (100), Legend (500), Sharp Eye (75% accuracy), Psychic (exact score), Mind Reader (5 exact), Parlay Pro (swept 3+ games), Perfect Night (swept 5+). Earned badges glow; unearned are grayed out.
- Parlay Tracking — tracks your best single-night sweep across all leagues.
- Badge Toast Notifications — animated pop-up when you unlock a new badge.
Workout Builder Expansion
- Rest Timer — built-in countdown with 30s/60s/90s/2m presets. Audio triple-beep alert when time's up. Start/pause/reset controls.
- Random Workout Generator — pick a focus area (Full Body, Lower, Upper, Core, Conditioning) and duration (15/30/45/60 min). Generates a shuffled routine with appropriate sets/reps.
- Workout Log Calendar — monthly heatmap showing workout days. Intensity scales with multiple workouts per day. Monthly total counter.
- Complete Workout Button — logs the session to the calendar, resets completion checkboxes, shows confirmation flash.
Daily Digest
- Today's Hockey (/today/) — personalized dashboard showing My Teams' games (live scores), standings snapshot (W-L-OT, division rank, streak), prediction status (games open for picks, current record), training status (today + this week), and top 5 news stories (your teams boosted). Auto-refreshes every 60 seconds.
March 31, 2026 — Hockey Hub: News, Podcasts, Scores, Standings, Watch Parties, Predictions, Workouts
Hockey News & Podcasts
- RSS News Reader (/news/) — aggregated feeds from Sportsnet, ESPN, Daily Faceoff, Reddit r/hockey, and more. Add custom feeds, toggle sources, auto-refresh every 5 minutes.
- Podcast Player (/podcasts/) — built-in audio player for hockey podcasts. Spittin' Chiclets and Steve Dangle pre-loaded. Progress saves per episode. Mini player persists across all pages.
- Score Ticker — toggleable live score bar between header and content on all pages. Shows today's NHL games with auto-refresh every 60 seconds.
Multi-League Tracking (NHL, PWHL, AHL)
- Hockey Standings (/standings/) — live standings for NHL, PWHL, and AHL with league tabs. NHL has division and conference views with clinch indicators, streaks, and L10 records. PWHL and AHL data from HockeyTech API.
- Teams Directory (/teams/) — browse all teams across three leagues with league tabs. Click to view individual team page with roster.
- Team Pages (/team/?id=COL) — full roster by position, jersey numbers, ages, injury status. NHL from ESPN API, PWHL/AHL from HockeyTech API.
- Game Schedule (/schedule/) — today's games across all leagues with live auto-updating scores and league badges.
- Score Ticker — toggleable live score bar showing games across all leagues.
- My Teams (/my-teams/) — select favorite NHL/PWHL/AHL teams for personalized highlights across the site.
Community & Social
- Watch Party (/watch-party/) — real-time chat rooms for watching games together. Trystero WebRTC (peer-to-peer, nothing stored). Quick reactions, shareable room URLs.
- Prediction Games (/predictions/) — pick winners across NHL, PWHL, and AHL games. Predict exact scores for bonus points. Season-long record tracking with accuracy %, streaks, and pick history.
Training & Tools
- Workout Builder (/workouts/) — 31 hockey-specific exercises across 6 categories. Build custom routines, track sets/reps/weight, save multiple routines.
- Rink Board: Streams Panel — new docked right-side panel for embedded YouTube/Twitch streams. Auto-loads team stream URLs, supports custom streams, syncs in collaboration rooms.
- Rink Board: Undo/Redo rewrite — snapshot-based undo now covers player moves, deletions, rotations, resizing, and all drawing operations (50 steps max).
Content Expansion
- Glossary — refactored to data-driven (251 terms), added category filters, officiating signals, international hockey terms.
- Quotes — expanded to 100+ from 22. New categories: modern stars, women's hockey, international, broadcasters.
- Chirps — expanded to 81 from 35. New categories: goalie chirps, ref chirps, bench chirps, comebacks.
- Recommended Reading — 52 books across 7 categories with table layout and filters.
- Recommended Sites — 42 sites with free/paid indicators.
- YouTube Channels — 22 verified channels across 6 categories.
- Parents Guide — 5 new sections: rules for parents, travel vs house, nutrition, mental health, social media.
New Pages
- Learn Hub (/learn/) — consolidated learning page with skills, reference, and resources.
- Tools Hub (/tools/) — consolidated tools page with all interactive features.
- Prospect Tracker and Equipment Finder scaffolded as coming-soon pages.
March 31, 2026 — Pool Play, Full Collaboration Sync, Calendar View, Mobile Optimization
Tournament: Pool Play + Elimination
- New format — Pool Play + Elimination: split teams into 2-4 pools, play round-robin within each pool, advance top 1-3 teams per pool into a single elimination bracket
- Serpentine seeding distributes teams fairly across pools to ensure competitive balance
- Per-pool standings with automatic recalculation (W/L/T/Pts/GF/GA/+/-)
- One-click advancement — when all pool games are complete, advance top teams to elimination with proper cross-pool seeding
Tournament: Calendar View & Sidebar
- Calendar schedule view — month grid with color-coded game count badges per day, clickable to show day detail panel with all games
- Table/Calendar toggle in the schedule sidebar section
- Multi-stream viewer — embed multiple livestreams simultaneously (1 = full width, 2 = stacked, 3+ = grid), click any bracket "Stream" link to open in the viewer
- Announcements — organizers post rich-text announcements visible to all participants, with timestamps and collapsible history
- Tournament rules — rich text editor with sample templates (Youth, Rec League, Competitive), displayed in sidebar
- Status dashboard — clickable game counts (Total/Completed/Remaining) expand to show game lists, "Tournament Complete" state when all games finished
- Collapsible sidebar — Hide Info / Show Info button to collapse entire sidebar for full-width bracket view
Tournament: Bracket Improvements
- SVG connector lines between bracket matches showing progression through rounds
- PNG image export with expanded layout for clean, high-resolution output (2x scale)
- PDF/print export — print-optimized view opens in new window with bracket, standings, and schedule
- Drag-and-drop reseeding in edit modal replaces arrow buttons
- Game labels on each bracket match (Game 1, Game 2, etc.)
- Rich text editor for rules and announcements with bold, italic, underline, heading, link, list, divider, undo/redo, keyboard shortcuts, and active state highlighting
- Format change now warns before resetting scores
- Fixed showBracketStats grandFinal array bug
- Fixed bracket reseeding swap collision
- Game details modal opens for TBD games (schedule ahead of bracket progression)
Rink Board: Full Collaboration Sync
- 13 new data categories synced in real-time collaboration rooms: rosters, lines, scoring log, penalty log, shift tracking, faceoff log, goalie stats, shootout, team colors, game info, practice plan, active goalies, period clock state
- Collaborators can now edit everything — scoreboard, goals, penalties, shifts, rosters (previously locked to host only)
- Broadcast loop prevention — suppression flag prevents infinite state cycling when receiving remote updates
- Arena DJ sync improved — playlist URLs now sync between collaborators, autoplay policy fix (mute/unmute pattern for browser compliance)
Mobile & Tablet Optimization
- Rink board panels slide up as bottom sheets on mobile (70vh max) instead of full-screen overlays
- Tournament forms stack vertically with full-width inputs on small screens
- Touch targets enlarged to 44px+ on touch devices via
pointer: coarsemedia query - Hover effects disabled on touch devices via
hover: nonemedia query - Header and footer optimized for mobile padding and spacing
- Toolbar buttons reduced 25% and dropdown arrows removed
PWA & Offline
- App icons — 192px, 512px, maskable, apple-touch-icon, SVG favicon
- Manifest shortcuts for Rink Board, Tournament, and Drills (long-press quick launch)
- Install prompt — dismissable banner appears when browser detects PWA eligibility
- CDN font caching — Bunny Fonts and cdnjs resources now cached for offline use
- Service worker updated to v2 with expanded precache list
UI Polish
- Header padding reduced, icons standardized at 0.625rem across search, translate, theme, and hamburger
- Footer condensed to a single inline row
- Navigation tooltips removed from Learn/Tools/Resources links
- Hamburger menu link descriptions removed for cleaner layout
- Rink board toolbar z-index lowered so header dropdowns render above it
- Default rink board zoom set to 125%
March 30, 2026 — Menu System Overhaul, Visual Refresh, Arena DJ
Toolbar Consolidation
- Toolbar reduced from two rows to a single compact row with flyout menus
- All drawing tools consolidated into a Draw flyout (pencil icon) — lines, arrows, curved arrows, shapes, text, eraser, style, and clear options
- All panels accessible via a Panels flyout with open/closed indicators and keyboard shortcuts (Alt+1-9)
- Setup controls moved to an Add flyout (presets, home/away players, items) and Roster flyout (place rostered players)
- Menu flyout combines Help, View controls, Sounds, and all Export options
- Active drawing tool highlighted in the flyout with accent left-border indicator
- Draw flyout auto-closes after selecting a tool
Arena DJ
- Virtual Arena DJ system — automated stoppage and intermission music via YouTube playlists
- Stoppage playlist plays when the period clock stops (game periods)
- Intermission playlist plays when the clock runs during intermission/warm-up periods
- Transport controls: play/pause, previous, next, mute, playlist browser, volume slider
- Now playing display with current track, track position, and prev/next titles
- Playlist name fields with auto-fetch from YouTube oEmbed for supported playlists
- DJ name input for the person controlling the music
- Music fades in smoothly, cuts instantly on clock start
- DJ state syncs across all collaborators via WebRTC
Panel System Improvements
- All panels now dock in the flex layout (no more overlay/absolute positioning)
- Panel open/collapsed states persist in localStorage across page reloads
- PanelManager class centralizes all panel toggle/collapse/persist logic
- Collaboration panel converted from floating to a docked right-side panel
- Collapsed panels widened to 7rem for better readability of smart strip data
Visual Consistency
- Rink board type scale system — 6 CSS custom properties (--rb-fs-xs through --rb-fs-xl) for consistent sizing
- Minimum font size enforced at 0.6rem across all rink board text — eliminated illegible 0.4-0.5rem sizes
- Unified focus colors — all focusable elements use the same accent color
- Shared utility CSS classes (.rb-label, .rb-input, .rb-section-header)
- Penalty-log, scoreboard, season planner, and collapsed strip styles migrated to CSS variables
Scoreboard Tabs
- Scoreboard sub-sections (Game Info, Penalties, Arena DJ) reorganized as tabs instead of stacked collapsible sections
- Tab badges show live data: penalty count, DJ playing status
- Only one tab visible at a time — reduces scrolling
Command Palette
- Press Ctrl+Shift+P to open a fuzzy-search overlay with 55+ registered actions
- Search across panels, drawing tools, export options, presets, sounds, view controls, and more
- Arrow keys navigate, Enter executes, Escape closes
- Works from anywhere, including inside form fields
Goal Form Streamlined
- Scorer and assist fields now use datalist inputs — type or pick from roster in a single field
- Removed duplicate select+text pairs, reducing from 13 visible fields to ~7
- Type/Period/Notes collapsed behind "More options" toggle by default
Shift Tracker Improvements
- Players grouped by position with section headers: Forwards (C, LW, RW, F), Defense (LD, RD, D), Goalies (G)
- Sub-headers for each specific position within groups
- Line-change buttons from defined lines — one-click line swaps by position group
- Goalie TOI now properly tracks when goalie is active and period clock runs
Data Management
- Full JSON backup/restore for all localStorage data (Menu > Export > Backup/Restore)
- Infraction options defined once in JS, shared across both penalty forms (deduplicated)
- Player dropdown population consolidated into a single utility function
Performance
- Collapsed panel info only updates for panels that are actually collapsed
- Drill timer RAF loop fixed — alarms, chronograph, and practice timers now run independently of drill timer
- Print styling improved — game summary includes faceoff stats, alternating table rows, professional typography
Header & Footer Refresh
- Header: frosted glass effect (backdrop-filter blur), borderless icon buttons, Apple-inspired minimal design
- Header simplified to: Logo + desktop nav + Search + Translate + Theme + Hamburger
- All secondary links (Blog, Features, About, Contact, Support, Changelog, Reading List, RSS) moved to hamburger panel utility grid
- Footer: centered text links in two rows, generous padding, subtle dividers
- Consistent tagline everywhere: "Free hockey resources for everyone."
Accessibility
- ARIA role="region" and aria-label on all 10 panels
- Scoreboard tabs use role="tablist", role="tab", aria-selected, role="tabpanel"
- Command palette uses role="dialog"
- Keyboard shortcuts documented in user guide with tooltips on toolbar buttons
User Guide Rewrite
- Complete rewrite of the rink board user guide — 34 sections covering every feature
- New sections: Canvas Basics, Curved Arrow, Arena DJ, Line Changes, Command Palette, Backup/Restore, Tips & Workflows
- All toolbar references updated to match the new single-row flyout layout
- Removed outdated references to "Row 1", "Row 2", "utility strip"
March 28, 2026 — Game View, Scorekeeping Panel, Shift Tracker Overhaul
Game View
- New Game View mode — one click to auto-position all players on the rink based on shift status
- On-ice players placed at standard positions (C, LW, RW, LD, RD) with live stats overlay (G, A, PTS, TOI, current shift)
- Off-ice players shown on their team's bench with the same stats
- Active goalies placed in their crease with saves count and save percentage
- Penalized players automatically moved to the correct penalty box with name, position, infraction, and countdown timer
- When penalty expires, player automatically returns to bench
- Game View button accessible from toolbar, scoreboard header, and shift tracker panel
- Game View state syncs to collaborators and spectators via WebRTC
Scorekeeping Panel
- New dedicated overlay panel for all game logging (penalty log, scoring, shifts, faceoffs)
- Separated from the Scoreboard for a cleaner layout — scoreboard focuses on scores, clock, SOG, and penalty timers
- Clipboard icon in the toolbar panel buttons, positioned next to scoreboard
- Collapsible to a narrow strip like other panels
Shift Tracker Overhaul
- Two-column Home/Away layout — see both teams at once
- TOI now tied to the period clock — shifts only accumulate when the clock is running
- Paused clock shows yellow TOI indicator with ⏸ symbol
- Click player shift count to expand individual shift log
- Edit individual shift durations, delete shifts, add manual shifts
- Per-player and per-team reset buttons
- Long shift alert — row turns red after 90 seconds on ice
- Print report now includes position, longest shift, shortest shift columns
Penalty Box Integration
- Penalized players now appear as icons inside their team's penalty box on the canvas
- Each penalty box icon shows jersey number, name, position (gold), infraction + countdown timer (red)
- Icons update every second as timers count down
- When a penalty is logged, the player's shift automatically ends
Scoreboard Penalty Section
- Full infraction dropdown (20+ penalty types grouped by Minor/Double Minor/Major/Misconduct)
- "+ Penalty" button logs to penalty log AND starts timer simultaneously
- Quick timer buttons (2m/4m/5m/10m) for timer-only adds
- "Full Log" button opens the Scorekeeping panel's penalty log
Goalie TOI
- Goalie TOI only runs when assigned as active goalie in scoreboard AND period clock is running
- Inactive/backup goalies placed on bench in Game View
Other
- Rink starts empty — no more default players preloaded. Use presets or roster deploy.
- Fixed blurry text on collapsed panel vertical titles
- Improved search popup styling
March 28, 2026 — Major Platform Update
Toolbar Overhaul
- Redesigned toolbar with a 2-row layout and flyout menus for cleaner access to all tools
- Floating context toolbar that appears near selected elements with relevant actions
- Collapsible utility strip to maximize rink canvas space when not needed
- Detailed tooltips on every toolbar element for discoverability
- All panels unified to a consistent width for a polished, cohesive interface
Tournament Bracket Generator (/tournament/)
- New standalone tool for creating tournament brackets
- Single elimination, double elimination, and round robin formats
- Shareable bracket URL for distributing to teams and parents
- Live stats tracking within the bracket
- Import/export bracket data as JSON for backup and sharing
Player Evaluations (/evaluations/)
- New player evaluation tool with 7 skill categories and 32 individual ratings
- Radar chart comparison to visualize player strengths side by side
- Print-ready scouting reports for tryouts, player development, and team meetings
- All evaluation data stored locally — never sent to any server
Game Sheet (/game-sheet/)
- New official game sheet generator for organized leagues and tournaments
- Full rosters for both teams with jersey numbers and positions
- Scoring summary, penalty log, shootout tracking, and shots on goal
- Import/export game sheet data as JSON
- Print-formatted output matching standard game sheet layouts
Attendance Tracker (/attendance/)
- New attendance tracking tool for practices, games, and team events
- Team roster with event-by-event attendance grid
- Attendance statistics per player and per event
- Data stored in localStorage — no accounts or cloud sync needed
PWA Offline Support
- Forecheck Hockey now works as a Progressive Web App (PWA)
- Service worker caches pages and assets for full offline use
- Web app manifest for installing to home screen on mobile and desktop
- All tools (rink board, brackets, evaluations, game sheets, attendance) work without an internet connection
Stats Dashboard
- Visual bar charts for season statistics across all saved games
- At-a-glance view of goals, assists, points, PIM, and save percentages
Practice Plan Templates
- Save practice plans as reusable templates
- Load saved templates to quickly set up recurring practice structures
- Export templates as JSON for sharing with other coaches
Video Export Improvements
- Title slides at the beginning of exported videos
- Frame numbers displayed during playback
- Fade transitions between keyframes
- Configurable duration per frame for precise timing control
Content Additions
- 5 new blog posts covering rink board updates, new tools, and PWA support
- 20 new drills added to the drill library
- 40 new terms added to the hockey glossary
SEO & Structure
- JSON-LD structured data added across all pages
- Improved meta descriptions for search engine visibility
- Navigation reorganized into Learn, Tools, Resources, and About sections
Accessibility
- ARIA labels added to all interactive elements
- Visible focus rings on all focusable elements
- Keyboard shortcuts documented and consistent across tools
- Escape key closes all open panels, modals, and flyout menus
March 28, 2026
Rink Board — Drill Library & Practice Planning
- Built-in drill library with 50+ drills across 13 categories (Skating, Shooting, Passing, Stickhandling, Defense, Goalie, Systems, Conditioning, Small Area, Warmup, Special Teams, Rushes, Fun)
- Search and filter drills by keyword, category, and difficulty level
- Load drills onto the rink as static diagrams or animated sequences
- Add drills directly to a practice plan from the library
- Practice planner: set total ice time, add/reorder drill slots with duration and notes, print formatted plan
Rink Board — Drill Timer
- Three timer modes: stopwatch (count up), countdown (presets 30s–10m or custom), and interval (work/rest/rounds)
- Interval timer alternates work (green) and rest (red) phases with configurable durations and round count
- Lap/split tracking in all modes
- Practice timers: add multiple named timers running simultaneously
- Sound auto-plays on timer expiration
Rink Board — Keyframes & Animation
- Capture board positions as keyframes with the camera icon
- Flip mode: quick-flip through keyframes like a slideshow
- Animate mode: smooth tweened player movement between keyframes
- Adjustable animation speed slider, reorder and delete individual frames
- My Animations panel: save, load, export (JSON), and import animated plays
Rink Board — Board History
- REC button to record every board change as a history entry
- Timeline scrubber to browse through recorded changes
- Step back/forward one change at a time, or auto-play the full history
- Save recorded history as an animation in My Animations
Rink Board — Shift & Faceoff Tracking
- Shift tracker: start/end shifts for individual players or full lines, view shift lengths and total ice time, print shift reports
- Faceoff tracker: log by zone (7 locations), team, player, and win/loss result. Per-player and per-zone faceoff percentages. Print faceoff reports
Rink Board — Season Planner
- Save current game (scores, rosters, goals, penalties) as a season entry or add games manually
- W-L-T-OTL record with cumulative GP and PTS tracking
- Cumulative season stats: goals, assists, points, PIM, saves across all games
- Edit and delete individual game entries
- Export/import season data as JSON, print season summary
Rink Board — Additional Features
- Number markers (1-9 or custom) for drill step labeling
- Multi-select with Shift+click and box-select by dragging on empty area
- Resize selected items with [ ] keys, rotate with R (Shift+R for counter-clockwise)
- My Boards panel: save/load unlimited single board states
- JSON template export/import for sharing board layouts
- Game summary print: formatted box score with goals, penalties, goalie stats, game info
- Whiteboard mode: hide scorekeeping, show only rink and drawing tools
- Rink view cycle: Full Rink, Offensive Zone, Defensive Zone
- Board notes row: free-text coaching notes, auto-saved
- Collapsible/expandable panel system with independent scrolling
- Comprehensive built-in user guide covering all features
March 2026
Rink Board — Play Designer & Game Management
- Interactive Canvas-based rink with NHL regulation dimensions (200ft x 85ft at 5px/ft scale)
- Full rink furniture: home/away benches, penalty boxes, scorekeeper box, officials bench
- Light and dark rink modes with full theme support across all panels
- Add players by position (C, LW, RW, LD, RD, G, F, D, X) for home and away teams
- Add referees, linesmen, coaches (head, assistant, goalie), and drill equipment (cones, nets, tires, sticks, pads, barriers, puck buckets)
- Drawing tools: line, arrow, dashed arrow (skating routes), freehand, text, eraser, circle, rectangle, zone highlight
- All items and drawings moveable and rotatable in select mode
- Player notes with hover tooltips and "Player Notes" toggle
- Custom team colors with color picker
- Custom team names synced between scoreboard and roster
Rink Board — Scoreboard & Timekeeping
- Full scoreboard: home/away scores, period dropdown (1st–Final with OT/SO/Warm-up/Intermission), main clock
- Period clock with presets (5m–20m) and custom time entry (supports "1530" → 15:30 format)
- Penalty timer with presets (2m/4m/5m/10m), custom time, auto-set from penalty log
- Shots on goal with active goalie tracking — saves attributed to current goalie, goalie switching mid-game
- Shootout tracker: per-round shooter selection from roster, goal/miss/save results, auto-scoring integration
- Sound effects: goal horn, buzzer, whistle, crowd, organ charge, siren, Let's Go chant — auto-play on timer expiration
- Game date/time, tournament/league, division, organization, venue fields
- Livestream URL per team with LIVE badge on scoreboard
Rink Board — Rosters & Lines
- Team roster management with jersey number, name, position, and notes per player
- Edit players inline, add notes that sync to deployed players on ice
- Lines tab: build forward lines and D pairings from either team, deploy with one click
- Officials tab: home/away coaching staff, game officials with role-specific placement (penalty box auto-positions)
- Deploy formations: 5v5, faceoff, power play, penalty kill, breakout, 1-2-2/2-1-2 forecheck — all position-matched from roster
- CSV import/export for rosters
- Print rosters with notes, stats, lines, and staff
- Swap teams: names, scores, SOG, rosters, lines, penalties, stream links
Rink Board — Scoring & Penalties
- Scoring log: goals with assists (from roster dropdown or custom), goal type (EV/PP/SH/EN/PS/OT/SO), period, time, notes
- Shootout goals auto-added to scoring log, removable per round
- Player stats computed from scoring + penalty logs: G, A, PTS, PIM, SV displayed in roster
- Penalty log: player from roster or custom, 14+ penalty types (minor through game misconduct), auto-sorted by period/time
- Edit and delete individual goals and penalties
- Print scoring summary, penalty log, and full stats sheet with game info and officials
Rink Board — Collaboration & Export
- Online collaboration via WebRTC (Trystero/Nostr): create room, share code, edit together in real time — serverless, no accounts needed
- Team chat with Home/Away tagging, filter by team, enable/disable by host
- Spectator mode: read-only view via shareable URL, scoreboard visible, chat accessible
- Collaborator restrictions: non-hosts can draw but cannot edit scoreboard or chat settings
- Snapshots with filmstrip sidebar, playback controls (prev/play/next), video export (WebM)
- Multi-rink cards with labels, notes, lightbox view, individual print
- Board notes area in game panel
- Export: PNG image, PDF print, share link (URL-encoded board state)
- 9 preset loadouts, zoom (sharp at any level), fullscreen mode
- All data persists in localStorage, auto-saves on every change
Content
- Skills guides hub with skating, shooting, stickhandling, positions, and team systems
- Position guides: centers, wings, defensemen, goalies (full written content)
- Hockey glossary with 150+ terms, A-Z navigation, and search filtering
- Rulebook covering basics, penalties, power play, icing, offsides, and rink layout
- Hockey chirps page with 35+ chirps across 5 categories
- Hockey quotes page with 25+ quotes from legends and coaches
- Parents guide to hockey: gear, costs, etiquette, supporting your player
- Blog with 5 articles, TOC sidebar, reading progress, share buttons, TTS, focus mode, download (txt/md)
- Reading list (localStorage bookmarks) with reading settings (font size, serif/sans)
Site Features
- Dark Rink Board theme with light/dark mode toggle
- Playfair Display headings + Inter body via Bunny Fonts
- Pagefind full-text search (Ctrl+K)
- GTranslate language selector (15 languages)
- RSS feed, Buttondown newsletter signup
- Public analytics dashboard (Umami placeholder)
- Cache-busted assets, responsive mobile design
- SEO: Open Graph, Twitter cards, canonical URLs, JSON-LD, sitemap, robots.txt
- Accessibility: skip links, focus rings, ARIA attributes, semantic HTML