UX Research · Strategy · Information Architecture

Designing the first mobile home for a brand-new women's pro basketball league.

The Upshot League tipped off its inaugural 2026 season with four teams, but no unified app. A fan who just wants to catch a game has to dig across four team sites and scattered feeds to answer three simple questions: when is it, how do I watch, and how do I get tickets. I designed a concept app to close that gap.

Role
Solo UX designer
Timeline
June–July 2026
Type
Self-initiated concept
Tools
Figma · Google Gemini · Claude
Preview of the UPSHOT League app: Watch, Home, and My Team screens
Launch the interactive prototype
High-fidelity · tap through the live app ↗
01 · The Opportunity

The right moment to convert curiosity into fandom.

Timing made this worth doing. The league launched with a broad media plan: YouTube as the primary live home, Amazon Prime, and local over-the-air broadcasts across its four markets. Momentum is building right now, and the Charlotte Crown in particular is drawing attention and attendance. A well-designed app could convert first-time curiosity into committed fandom at exactly the moment the league needs it.

The four founding teams, Charlotte Crown, Greensboro Groove, Savannah Steel, and Jacksonville Waves, each run their own site and social presence. Baltimore and Nashville are set to expand the league in 2027.

The Problem

Casual, first-time fans need a fast, single place to confidently find where to watch and how to buy the right tickets, because today that lives scattered across a static site and four separate team feeds. The fragmentation causes missed games and abandoned purchases at exactly the moment a young league most needs to convert the curious.

02 · Research

Four methods, cross-checked against each other.

I worked research-first, so findings could be triangulated rather than resting on a single source. Because this was self-initiated, I recruited real fans, ran real interviews, and grounded every design decision in something a participant actually said or did.

FigJam The full research board: raw notes, synthesis & ideation
Open in FigJam ↗
Survey21 responses: a screener plus feature-priority and frustration questions, which also funneled willing participants into interviews.
Interviews4 participants across four distinct fan modes: a TV-discovered newcomer, an engaged player-follower, a TikTok/IG non-follower, and a partner-referred casual.
Social listening16 Instagram captures of organic, unprompted fan comments, the real language people use.
Competitive analysisTeardowns of the NBA, WNBA, and G League apps. The G League, a lean single-tier developmental-league app, turned out to be the closest analog.
What the numbers said
90%
named "hard to find where to watch" as their top frustration
52%
wanted a centralized "watch hub"
62%
wanted ticketing + arena info; the same share wanted player stats
48%
cited a lack of behind-the-scenes content
77%
identified as casual or brand-new fans
53%
said they rarely or never use sports apps

That last pair mattered as much as the feature requests. This is a casual-first, light-user audience, which made simplicity not a nice-to-have but a design constraint.

03 · Insights

Every theme, pushed to a "so what" and a design response.

"Where do I even watch?" is the deepest pain.

Broadcast is split across YouTube, Prime, and local TV. Even an engaged fan said the scattered platforms "defied me from watching sometimes." Response: a dedicated Watch destination that resolves tonight's game to the right platform and links out.

Ticketing is about confidence, not just access.

One participant bought tickets to a game ten hours away because the site never made clear it was an away game. Another couldn't tell resale from face value on mobile. Response: a ticketing flow whose job is confidence: clear home/away labeling, a visible entry point, and a pre-purchase confirmation.

Simplicity is the binding constraint.

With 53% rarely using sports apps and an interviewee who said "if it seems too complex, then I'm done," the app has to stay clean and scannable.

The league is one thing, but the team is the identity.

Each team runs its own site, so the fragmentation is literal. Response: a league-first app with a personal "My Team" layer.

Fans want to feel the talent.

Behind-the-scenes content was the second-highest frustration, and fans wanted to follow specific players. Response: highlights, a player spotlight, and follow-a-player.

Community matters but is secondary, and not only youth.

A participant with no kids wanted adult events like industry nights, not clinics. Response: a community section that personalizes by profile.

Fan Journey Map
The emotional low points sit exactly where my interviews hurt most: buying tickets and finding the game. The app's core job is to lift those two lows.
04 · How My Thinking Changed

I updated my priorities three times as evidence came in. That's the part I'm proudest of.

I assumed the league had no rankings, because a social post said so. Checking the live product, I found a standings page. The honest reframe wasn't "drop rankings" but "keep standings, de-emphasize them to match the brand."

I assumed live stats would be impossible for a tiny new league. It actually runs on a sports-data service (Airplai), which made stats, standings, and final scores feasible after all. I had to re-validate priorities against real infrastructure, not just user demand.

I cut a prediction-and-rewards feature after my first interview, where an older fan rejected it. Three later interviews showed I'd misread the signal: fans didn't reject rewards, they rejected gambling. So I re-scoped rather than reinstated: a non-wagering rewards layer tied to merch, experiences, and local sponsor promotions.

05 · Prioritization

Popularity alone does not set priority.

I ranked features on three questions: how much people want it (demand), how much its absence hurts (pain), and whether a first-year league can actually ship it (feasibility). My most-requested feature, full play-by-play (81%), sits far to the low-feasibility side, so it deferred. Meanwhile the feature that best kills the top pain, where-to-watch, is very buildable.

Feature Prioritization Matrix
P0 · Build firstSchedule with clear home/away, the Where-to-Watch resolver, confident ticketing, and Team pages with My Team.
P1 · NextLightweight real-time score, notifications, player stats, spotlight + follow, highlights, and quiet standings.
P2 · LaterCommunity, non-wagering rewards, and an injury / availability report.
Deferred / CutFull play-by-play deferred; point-spread betting cut.
06 · Information Architecture

One league, four team identities, one app.

The IA resolves the core puzzle: a league-first app (one schedule, one watch hub, all teams) with a "My Team" setting that personalizes Home and unlocks a rich team page. Team identity lives inside a unified app, exactly what team-only apps can't offer.

The structure is a lean five-tab bottom nav, modeled on the G League app rather than the sprawling NBA and WNBA apps: Home, Schedule, Watch, Teams, More. Tickets, live streams, and shop hand off to external providers (Fevo, Ticketmaster, YouTube, Prime, Shopify), which the IA shows honestly rather than pretending to own.

IA Sitemap
07 · Ideation

From a word dump to nine screens.

I ran a timed word dump that grew into a mind map, then a Crazy Eights sprint, then nine screen sketches. Several Crazy Eights seeds became real features: a tiered reward system, a player spotlight, and the college-to-Upshot-to-WNBA pipeline idea. The nine sketches mapped almost perfectly onto the five-tab structure and became my low-fi wireframes.

Brainstorm word list
Mind map
Crazy Eights sketches
Nine screen sketches

The sketches mapped almost perfectly onto the five-tab structure (home, watch hub, my team, ticketing, and the gamification layer) and became my low-fi wireframes.

Screen sketches: profile and sub-menus, ticketing, highlights feed
Screen sketches: home page with cards, watch zone and stats, load screen
Screen sketches: games list with watch hub, my team, gamification and rewards
08 · User Flows

Two hero tasks, diagrammed tap by tap.

Flow: Buy a Ticket with Confidence

This flow builds in the confirmation step that would have prevented the wrong-city purchase one participant described: a visible Buy CTA, then a pre-purchase confirmation of game, date, home/away, and price versus resale, before handing off to the provider.

Flow: Find Where to Watch

This flow attacks the 90% top frustration. If a fan can watch now, the resolver routes them straight to the right platform. If they can't, the same screen offers a live score with key-moment and hot-player alerts.

09 · The Prototype

From wireframes to a working app.

The low-fi sketches and flows became a high-fidelity, tappable prototype: the five-tab structure, the watch resolver, the ticketing confirmation, and the “My Team” layer, all live. You can open it and walk the two hero tasks end to end.

I built it with AI assistance, Claude, used deliberately as an accelerator. Every screen, interaction, and IA decision on it is mine, drawn directly from the research on this page; the tooling just shortened the distance from decision to artifact. I prefer augmentation over autonomy: AI to move faster, a designer accountable for the outcome. The honest next step is putting it in front of real fans.

Launch the interactive prototype
Tap through the live app ↗
Honest Limitations
  • The survey sample is small (21) and skews 25–34, so findings are directional, not statistically significant.
  • All four interviewees lean casual/newcomer, and two don't follow the league, a fit for the "convert the curious" thesis, but light on die-hard power users.
  • Ticketing is a multi-provider hand-off, so the app routes to Fevo or Ticketmaster rather than selling natively.
  • True in-app streaming is unlikely due to broadcast rights, so Watch routes and deep-links rather than embedding streams.
  • Maya, the aspiring-athlete persona, is kept as a brand-aligned proto-persona, not validated by this sample.
Next Steps
Usability testing
Put the working prototype in front of real fans and validate the two hero flows, especially ticket confirmation. Because AI accelerated the build, testing with people is what earns confidence in the decisions.
Real broadcast data
Integrate actual per-team YouTube, Prime, and local schedules into the resolver.
Visual & team branding
Build a full UI kit and per-team theming on top of the validated structure.
Accessibility pass
Verify contrast, tap targets, and type against the older, less tech-comfortable segment.
What I Learned

Treat a plan as a hypothesis.

Two lessons carry forward. First, prioritize on pain and feasibility, not just raw demand: the most-requested feature isn't always the one that helps most, or the one you can actually build. Second, the moment reality or new evidence pushes back, update the plan. The three pivots in this project taught me more than any single research finding did.

View the high-fidelity prototype →
Interactive · tap through the live app
Talk through the research →
Happy to walk through the full process
Explore the FigJam board ↗
Raw research, synthesis, and ideation