โ† Back to blog

May 10, 2026 ยท Product update

Game photos โ€” share shots from the stands.

Every game page on KidGOAT now has a Photos section. Parents who tracked the game can upload pictures from the sidelines โ€” a celebration after a three, a kid mid-shot, the team huddle at the bench. The rest of the parents on the game see them in a carousel right above the box score.

What the new Game photos section looks like on /g/<gameKey>.

Who can upload

Only parents who tracked the game. If your name is in the per-kid stats table โ€” meaning you tapped at least one stat for your kid during the game โ€” you'll see a ๐Ÿ“ท Add photos button at the top of the section.

Tap it, pick one or many shots from your phone, and they upload one at a time with progress shown inline. Each photo gets resized client-side before upload (longer side capped at 1600px), so a 7MB phone photo uploads as ~250KB. Cellular-friendly, doesn't burn your data.

Who can see them

Logged-in viewers only. We deliberately gate the photos behind a sign-in โ€” game photos can show kids' faces, and we don't want a random visitor scrolling through years of game shots without an account.

Default state: photos are private to logged-in parents. A signed-out visitor lands on the game page and the Photos section just isn't there. They see the box score, the team names, the score โ€” but not the pictures. Sign in, and they appear.

The one exception is the auto-generated highlights blog posts. When we publish a recap of a game, we embed one or two photos at the top of the post (NBA-style hero image). Those are publicly viewable in the post โ€” but you, the operator, control which games get a published post. Photos that haven't been picked for a recap stay private.

How the carousel works

Storage

Photos are hosted on Cloudinary with their auto-format and auto-quality transforms turned on. That means each viewer gets the best modern format their browser supports (WebP, AVIF) at the right size for their screen. The carousel thumbnails ship at ~50โ€“150KB each; full-res lightbox photos at ~300โ€“600KB. Cheap to host, fast to load.

Why we built it

The point of KidGOAT has always been: every kid's basketball moments live in one place โ€” stats, video clips, page URL โ€” instead of scattered across group chats. Photos were the missing piece. A great rebound or a buzzer-beater dunk-attempt deserves more than a screenshot in a thread that gets pushed off the screen by tomorrow's homework reminder.

Now they live on the game page, alongside the play-by-play and the final score, where the team's parents can find them three weeks from now โ€” not just in the thirty minutes after the buzzer.