GymJudge
2026
- ai
- product design
- ui/ux
GymJudge is a live scoring companion for NCAA women’s gymnastics fans — a progressive web app that lets you judge each routine as you watch, track your read across a full meet, and compare your scores against the officials at the end. Solo or against a friend.
The product is live at gymjudge.app, actively developed, and built entirely by one person: concept, UX, visual design, frontend, backend, deployment, and ongoing iteration. No team. No agency. No template.
The design challenge
The primary context is a phone in one hand while a meet plays on a screen nearby. That constraint shaped everything. Input speed, navigation structure, information hierarchy — all of it designed around a user who is also watching something else.
Score entry had to be fast enough that it never pulled attention from the broadcast. The interface steps back between routines and is immediately ready when the next one starts. The result feels like it was designed specifically for the couch — not a sports stats tool or a digitized scoresheet, but something purpose-built for that moment.
Design systems thinking
Each meet gets a color theme. The concept came from wanting the history to feel like a record — open your archive and a Stanford meet looks different from a Cal meet. The color carries identity.
Building it as a system meant every theme needed to hold up in both light and dark modes, at the contrast levels required for accessibility. What looks like a cosmetic feature is actually a systems design challenge: how do you build a theming architecture that’s maintainable, scalable, and works with the rest of the product? That’s the question this answers.
Multiplayer without accounts
The “With a Friend” mode was the most demanding design challenge. Multiplayer usually means accounts — sign-in flows, friend graphs, session management — all friction that slows adoption before the product gets a chance.
The constraint I set: zero sign-in, zero setup, share a six-character code and go.
Both players score independently on their own devices. When either reaches the results page, the app quietly waits for the other’s scores to arrive, then merges everything and re-renders automatically. No waiting screen. No manual refresh. It resolves like it was always going to work.
The architecture also means no user data ever persists beyond 24 hours, and nothing is tied to an identity — a deliberate privacy decision for a product aimed at a mainstream consumer audience.
Built to ship
The backend runs on Supabase, used here as a lightweight relay for multiplayer — minimal, purposeful, with automatic data cleanup built in. Everything else lives on the client. No user accounts required.
The roadmap has a clear path to monetization — cross-device sync and a stats dashboard behind a Pro tier — but the free experience is intentionally complete. The product earns trust before asking for anything.
AI-integrated development
GymJudge was built using a fully AI-integrated workflow, with Claude as a collaborative engineering partner across the entire build — architecture, implementation, debugging, and iteration. Creative direction, product judgment, and design ownership remained mine throughout.
This wasn’t vibe coding. It was a deliberate practice in how a senior designer with strong technical instincts can use AI to compress the gap between idea and shipped product — moving at a pace and scope that would otherwise require a team.