What's New

The latest features and improvements shipped to Picklebeast.

April 2026
Apr 24, 2026 Mobile App
Mobile Playoff Manager — Run Playoff Day From Your Phone
A tournament director's complete toolkit, now on mobile. Three-tab shell (Now / Divisions / Courts), native score entry, court assignment, per-division designation, and a podium reveal at completion — with ActionCable real-time sync across every connected admin device.
  • Three-tab shell: Now (live + ready + pending queues), Divisions (per-division detail), Courts (venue-wide grid)
  • Native bottom-sheet score entry with dynamic game rows, auto-winner detection, tie rejection, haptic feedback
  • Per-match court picker that honors the division's designated court subset
  • Per-division court designation modal with cross-division conflict detection and real-time claim-map sync
  • Auto-Assign button with diagnostic toast (assigned count · ready · waiting · already on courts)
  • Podium card auto-renders when a division's final match completes — gold / silver / bronze with seeds
  • ActionCable `LeaguePlayoffChannel` pushes match_scored / court_assigned / division_completed / court_designation_changed / venue_updated / match_ready / court_freed events to every admin device
  • Four new admin-only push types: match_ready_overdue (20+ min waiting), division_completed, event_wrapping, score_entered (opt-in)
  • Hourly PlayoffReadyMatchScanJob using a partial index on ready_since_at to flag stuck matches
  • AsyncStorage cache survives airplane-mode transitions; offline banner surfaces cached state
  • JWT auth flows through the existing web mutation endpoints transparently — no shim, no duplicate logic
  • Rolled out behind FeatureDefinition flag `mobile_playoff_manager_v1` with a per-user beta allowlist
Learn more →
Apr 21, 2026 Leagues
Per-Round Rung Ladder — Live Rung Shuffling on League Night
A Mexicano-style variant of the rung ladder format where players reshuffle between rungs after every round on the same night, instead of once per week. Toggle on the league setup form.
  • New 'Rung Movement Mode' setting: Weekly (classic) or Per Round (Mexicano)
  • After every round completes, top half of each rung moves up one rung and bottom half moves down one
  • Next round auto-generates with the new rung composition — no admin action needed
  • Rung positions persist across sessions — end night 1 on Rung 2, start night 2 on Rung 2
  • Optional reset-each-session toggle if the organizer prefers re-seeding every week
  • Partner rotation within a rung avoids consecutive-round repeat pairings
  • Tiebreakers within a round: wins then point differential then head-to-head then prior rung rank
  • Push notification to every affected player when they move up or down
  • Live rung state API endpoint powers mobile live rung ladder screen
  • Bye handling for rungs with fewer than 4 confirmed players that round
  • Backward-compatible: every existing rung ladder defaults to weekly mode, no behavior change
Learn more →
Apr 21, 2026 Platform
Structured Membership Tiers — Every Perk Hits Stripe as Real Dollars
Every membership tier perk now flows through a server-authoritative pricing pipeline that actually reduces the Stripe charge. Nine surfaces, five discount types, five cadences, age + time-of-day eligibility gates, one-time initiation fees, audit-logged grandfathering.
  • Nine billable surfaces covered: court reservations, open play, leagues, tournaments, clinics, coaching lessons, ball machine, guest passes, initiation fees
  • Five discount types: percentage off, fixed off, free, allowance (first N per cadence), free with cap
  • Five cadences: daily, weekly, monthly, quarterly, annually — anchored to the club's clock
  • Eligibility gates enforced server-side: age (COPPA-floored at 13), hours, days of week, locations
  • One-time initiation fees via Stripe Connect — waivable, with configurable reapplication window
  • JSONB schema validator rejects tampered blobs: negative percents, out-of-range values, allowance on non-allowance surfaces, unknown keys
  • Immutable audit log on every tier edit — actor, IP, user agent, full before/after JSON
  • Grandfathering: existing active members keep their original terms until explicit 'Apply to existing members' action
  • Per-club shadow-compare flag runs both legacy and new paths in parallel and logs divergence before flipping
  • Backfill rake task translates legacy fields (court_rate_discount_percent, event_pricing JSONB, free_*_per_month) into structured data — Snovalley skipped by default
  • New league and tournament resolvers route through ClubPricing for the first time — their discounts now actually apply
  • Deterministic perks formatter: structured inputs generate the human-readable perk bullet list
Learn more →
Apr 21, 2026 Platform
Structured Membership Tiers — Every Perk Hits Stripe as Real Dollars
Every membership tier perk now flows through a server-authoritative pricing pipeline that actually reduces the Stripe charge. Nine surfaces, five discount types, five cadences, age + time-of-day eligibility gates, one-time initiation fees, audit-logged grandfathering.
  • Nine billable surfaces covered: court reservations, open play, leagues, tournaments, clinics, coaching lessons, ball machine, guest passes, initiation fees
  • Five discount types: percentage off, fixed off, free, allowance (first N per cadence), free with cap
  • Five cadences: daily, weekly, monthly, quarterly, annually — anchored to the club's clock
  • Eligibility gates enforced server-side: age (COPPA-floored at 13), hours, days of week, locations
  • One-time initiation fees via Stripe Connect — waivable, with configurable reapplication window
  • JSONB schema validator rejects tampered blobs: negative percents, out-of-range values, allowance on non-allowance surfaces, unknown keys
  • Immutable audit log on every tier edit — actor, IP, user agent, full before/after JSON
  • Grandfathering: existing active members keep their original terms until explicit 'Apply to existing members' action
  • Per-club shadow-compare flag runs both legacy and new paths in parallel and logs divergence before flipping
  • Backfill rake task translates legacy fields (court_rate_discount_percent, event_pricing JSONB, free_*_per_month) into structured data — Snovalley skipped by default
  • New league and tournament resolvers route through ClubPricing for the first time — their discounts now actually apply
  • Deterministic perks formatter: structured inputs generate the human-readable perk bullet list
Learn more →
Apr 21, 2026 Platform
Structured Membership Tiers — Every Perk Hits Stripe as Real Dollars
Every membership tier perk now flows through a server-authoritative pricing pipeline that actually reduces the Stripe charge. Nine surfaces, five discount types, five cadences, age + time-of-day eligibility gates, one-time initiation fees, audit-logged grandfathering.
  • Nine billable surfaces covered: court reservations, open play, leagues, tournaments, clinics, coaching lessons, ball machine, guest passes, initiation fees
  • Five discount types: percentage off, fixed off, free, allowance (first N per cadence), free with cap
  • Five cadences: daily, weekly, monthly, quarterly, annually — anchored to the club's clock
  • Eligibility gates enforced server-side: age (COPPA-floored at 13), hours, days of week, locations
  • One-time initiation fees via Stripe Connect — waivable, with configurable reapplication window
  • JSONB schema validator rejects tampered blobs: negative percents, out-of-range values, allowance on non-allowance surfaces, unknown keys
  • Immutable audit log on every tier edit — actor, IP, user agent, full before/after JSON
  • Grandfathering: existing active members keep their original terms until explicit 'Apply to existing members' action
  • Per-club shadow-compare flag runs both legacy and new paths in parallel and logs divergence before flipping
  • Backfill rake task translates legacy fields (court_rate_discount_percent, event_pricing JSONB, free_*_per_month) into structured data — Snovalley skipped by default
  • New league and tournament resolvers route through ClubPricing for the first time — their discounts now actually apply
  • Deterministic perks formatter: structured inputs generate the human-readable perk bullet list
Learn more →
Apr 21, 2026 Platform
Structured Membership Tiers — Every Perk Hits Stripe as Real Dollars
Every membership tier perk now flows through a server-authoritative pricing pipeline that actually reduces the Stripe charge. Nine surfaces, five discount types, five cadences, age + time-of-day eligibility gates, one-time initiation fees, audit-logged grandfathering.
  • Nine billable surfaces covered: court reservations, open play, leagues, tournaments, clinics, coaching lessons, ball machine, guest passes, initiation fees
  • Five discount types: percentage off, fixed off, free, allowance (first N per cadence), free with cap
  • Five cadences: daily, weekly, monthly, quarterly, annually — anchored to the club's clock
  • Eligibility gates enforced server-side: age (COPPA-floored at 13), hours, days of week, locations
  • One-time initiation fees via Stripe Connect — waivable, with configurable reapplication window
  • JSONB schema validator rejects tampered blobs: negative percents, out-of-range values, allowance on non-allowance surfaces, unknown keys
  • Immutable audit log on every tier edit — actor, IP, user agent, full before/after JSON
  • Grandfathering: existing active members keep their original terms until explicit 'Apply to existing members' action
  • Per-club shadow-compare flag runs both legacy and new paths in parallel and logs divergence before flipping
  • Backfill rake task translates legacy fields (court_rate_discount_percent, event_pricing JSONB, free_*_per_month) into structured data — Snovalley skipped by default
  • New league and tournament resolvers route through ClubPricing for the first time — their discounts now actually apply
  • Deterministic perks formatter: structured inputs generate the human-readable perk bullet list
Learn more →
Apr 18, 2026 Mobile App
Public Games Discovery — Find Open Games Near You
A new Discover tab in the Games section shows public games near you that match your skill level — no invite lists, no group texts. Hosts reach every eligible nearby player automatically, and organizers stay in control with one-tap remove.
  • Discover segmented view inside the Games tab with list and map modes
  • Filter by distance, skill range (DUPR / self / either), time window, and visibility (any eligible / friends of friends)
  • Map view with pins, 'Search this area' on pan, recenter button, and tap-to-join callouts
  • Suggested Matchups row surfaces high-signal games with mutual friends, shared venues, or prior co-players
  • One-tap 'Open to public' nudge prompts organizers to convert private games with open spots 48 hours out
  • Host-side reach estimate: 'X eligible players can see this' + coaching hints when reach is low
  • Rating gate enforced at every join path — share links can't bypass the skill band
  • Organizer can remove any player at any time; removed player sees the state and gets a push
  • Post-game attendance prompts build a reliability score visible to hosts
  • Optional nearby-games alerts: at most one push per day, skill-matched, quiet hours respected
  • 18+ to host and join, matching industry precedent (Meetup, GoodRec, Bumble BFF)
  • Safety acknowledgment on first host/join; report button for harassment, no-shows, or unsafe conduct
  • Main app only — white-label apps keep their club-scoped open-play flow
Learn more →
Apr 14, 2026 Mobile App
Make It Interesting — Friendly Wagers Between Friends
A social bet ledger for friends. Wager a coffee, donuts, or drinks after the match. Picklebeast tracks the trash talk without ever touching money. Currently in closed beta.
  • Three bet types: head-to-head, over/under on a stat, open prop bets
  • Friends-only rule with a content filter that rejects money, gift cards, and cash equivalents
  • Double-or-nothing chains (up to 32x) with winner acceptance
  • Feed cards with likes, comments, @mentions, and rivalries
  • Auto-resolution from league/tournament scores; manual attestation for casual games
  • 24-hour dispute window, winner-only waive, and 90-day stale bet nudges
  • Beta-gated at launch — non-beta users see nothing
Learn more →
Apr 12, 2026 Club Admin
Unified Billing — One Place for Everything You Owe
A single billing page shows your subscription, league and tournament fees, and one-off charges in one place. Pay any invoice with the card on file. Clear warnings before access is ever affected.
  • Unified 'Amount Due' summary + invoice history table combining all sources
  • 'Pay with card on file' button on any open invoice — no re-entering details
  • Platform-owner manual invoice creation for custom charges and contract upfronts
  • 3-day warning banner before access is ever restricted, with a direct 'Pay now' CTA
  • Platform-owner access override for contract clubs and special arrangements
Learn more →
Apr 5, 2026 Platform
Organizer Accounts — Run Events for Free
Three-tier account system: casual players get free private events, organizers unlock unlimited public events with payment collection, and clubs get full facility management.
  • Player accounts: up to 2 free private events with 16 participants, basic formats
  • Organizer accounts: free upgrade, unlimited events, public listings, payment collection, advanced formats
  • Contextual upgrade nudges in creation wizard when casual limits are hit
  • Server-driven upgrade modal with benefits list and one-tap account creation
  • Participant cap enforcement (16 players) across all registration paths
  • Division limit (1 per event) with upgrade prompt for multiple skill groups
  • Platform owner per-user waiver override for beta testers and partners
  • Fee schedule context filtering (clubs vs organizers vs casual)
  • Full security audit: 14 bypass vectors identified and fixed
Learn more →