Real-time leaderboards on your website
Drop live league standings, tournament brackets, and combined leaderboards onto any club website with one line of code. Branded in your colors. Updates the moment a match score is entered. Free on every plan.
One line of code
Pick a widget type, attach the leagues or tournaments it should show, and copy the iframe. The same data your members see in the app — now living on your homepage, your league recap blog post, your sponsor's site, anywhere you want.
Seven widget types, one platform
Podium View
Top 3 podium per division, full table beneath. Best for highlighting league or tournament standings.
Combined Leaderboard
One ranked list across multiple divisions, with division pills next to each name. Sortable by wins, win %, or differential.
Division Standings
Chip switcher above per-division panels. Compact, great for leagues with 3+ divisions.
Tournament Brackets
Live single-elim, double-elim, or round-robin brackets that update as scores come in.
Rung Ladder
Climb-the-ladder format with current rung positions and recent movement.
Upcoming Matches
Next-up schedule with court assignments, opponents, and start times.
Plus a Head-to-Head widget for highlighting rivalries — perfect for finals day social posts.
Branded automatically
Every embed inherits your club's colors, font, and logo from the brand settings you already configured. Five primary colors (primary, background, surface, text, border) — pick once, every embed reflects it. Three theme modes: Auto (follows the visitor's OS), Light, or Dark.
Updates the moment a score is entered
WebSocket push
The server gates broadcasts by content hash — only real changes ping subscribers, no chatty fan-out.
30s polling fallback
Behind a corporate firewall? The iframe falls back to polling without losing freshness.
Tab-focus refresh
Visitors who tab away and come back see fresh data instantly via a visibility-change refetch.
Mobile-first by design
Most visitors will see your embed on a phone. Each row is tappable — open a popover with the player's full record, DUPR rating (when synced), and recent match history grouped by week. Mobile rules adapt per widget type:
- Combined Leaderboard: rank, avatar, name, and W-L record. Tap any row for the full breakdown.
- Podium View: 1st / 2nd / 3rd cards stack vertically with a horizontal name + stat layout inside each.
- Tournament Brackets: horizontal scroll with iOS momentum, never overflows the page.
- Auto-resize: container queries adapt the layout based on iframe width, not viewport — works in narrow side-rail placements too.
Privacy you control per embed
Five privacy modes set per embed, server-side, before the page is even built:
- Full name — Sarah Goldberg
- First + last initial — Sarah G.
- First initial + last name — S. Goldberg
- First name only — Sarah
- Opaque — Player 1, Player 2, Player 3…
Avatars can be hidden globally per embed. Anonymization applies to standings, opponents, partners — every name surfaced anywhere in the widget.
Multiple embeds per club
Run one embed for your homepage, another for the league recap blog, another for a sponsor's site, another for a TV mounted at the bar. Each is independently configured: different widget type, different attached entities, different theme, different anonymization mode. Pause any embed temporarily, archive it permanently, regenerate its share image — all from a single Marketing tab in your club admin.
Built-in distribution
Standalone shareable URL
Every embed has a public URL that works in browser tabs, iMessage, Twitter, Slack — anywhere a link goes.
Auto-generated share preview
Open Graph image regenerates as standings change. Slack and iMessage previews always show current data.
iframe + WordPress + direct link
Three copy-paste formats covering every site you might paste into.
Auto-archive after the season
Optional rule auto-archives the embed N days after the last season ends. The URL returns 404 cleanly so old links don't surface stale data.
Free on every plan
No usage limits. No view caps. Powered by Picklebeast footer is the only ask.