← All Changes

Changelog

April 25, 2026

One-Tap Clip Sharing & Faster Avatars

Every highlight clip now has a Share button in the top corner of the player. Tap it and the clip is on your phone’s share sheet seconds later — post it to Instagram or TikTok, send it in a group chat, AirDrop it to a friend, or save it straight to your camera roll. Pick from three formats: a quick unedited grab of the original clip, a vertical 9:16 crop you can pan across to find the action, or a vertical view framed with branded blue rails and a zoom slider. All edited exports get a Saturday Hoops watermark baked in.

The Share Button

  • Lives at the top of the video player, visible while the clip is playing. Pauses fade it out so it doesn’t fight the “View Game” / “Last Game” pill that takes the same corner when you stop the video
  • Orange when it’s your own clip, blue when it’s someone else’s — subtle nudge that you’re sharing your own moment
  • Mobile gets a compact icon-only chip in the top-left (slot the “Last Game” pill vacates while the clip plays); desktop gets a full magazine chip with “SHARE” text in the top-right
  • Hover the desktop chip and the underlying clip loops in place — lets you study the moment without the player auto-advancing — while the chip pulses to invite the click

Three Formats

  • Quick (16:9, instant)— the original clip, unedited. Streams straight from our CDN with no rendering wait. Useful for AirDropping a clean copy or for posting to feeds that don’t need a vertical crop
  • Vertical (9:16 fill)— the clip cropped to a portrait frame for Instagram Stories, Reels, and TikTok. A pan slider lets you drag the visible window left or right to keep the action centered — great for a fast break that ends on one side of the court
  • Zoomed (9:16 framed)— portrait with branded blue rails above and below the full 16:9 source, so no horizontal action gets cropped out. A zoom slider tightens the frame as you drag it — the rails shrink, the action grows, and the watermark in the bottom rail follows along

How the Flow Feels

  • On mobile: tap Share → pick a format → tap the bottom button. For Quick, the OS share sheet opens almost instantly. For Vertical or Zoomed, the modal shows a basketball-spinning loader for ~15 seconds while we render your edit, then the share sheet opens with the file attached
  • On desktop: same idea but the file downloads to your computer when ready — most social apps don’t accept uploads from desktop browsers, so a clean download to AirDrop or move to your phone is the right outcome
  • Quick stays free of the render wait because it’s the same file the player is already streaming — we just hand it to your share sheet directly
  • The modal locks while a render is in flight so you can’t accidentally close it and miss the result

The Modal

  • Wears the same magazine-ticket chrome as the roster cards and game ticket — 2px primary border, the orange corner triangle, and a kicker label above the headline
  • Tabs use a broadcast-style underline indicator with two-line labels (mode name + aspect ratio) and a tiny “Quick share / No wait” or “Edit & share / ~15s render” kicker above so you know what to expect time-wise
  • Sliders for pan and zoom got a chunky touch- friendly thumb (28px white circle on a brand- blue track) so they actually drag on a phone
  • The loading state is a basketball glyph from the Saturday Hoops logo spinning on a fingertip cadence — alternating fast and slow segments rather than a generic spinner
  • A faint preview of the watermark sits in both the Vertical and Zoomed modes so you see roughly where the brand mark will land before you commit — bottom-center on both, with Zoomed’s riding up into the blue rail as you drag the zoom slider
  • Modal sizes itself to fit your phone — on iPhone SE the preview shrinks but the slider and share button still land above the fold, no scroll required
  • Tab switching no longer reflows the modal height — Quick / Vertical / Zoomed all snap to the exact same total size so the header and CTA don’t shift under your thumb

Behind the Scenes

  • Wired up share-flow analytics so we can see which formats people pick, mobile vs desktop conversion, how long the prep wait actually takes, and where errors happen in the pipeline — the data tells us which tweaks to make next
  • Every custom analytics event the app fires now lives in a single METRICS.md doc with what triggers it, what properties it sends, and the funnels worth watching

Faster Avatars, While We’re At It

  • Player avatars across the games list and game detail pages now share the same optimized image URL across pages, so navigating between /games and a detail page doesn’t re-fetch every face
  • Cached avatars skip the placeholder shimmer entirely — if the browser already has the image, it appears instantly with no fade
  • Uncached avatars get a soft skeleton-shimmer animation while loading instead of a blank gray circle