SeatGeek • Handed off 2026

Giving the right access to the right people

The User Admin tool is where 73 of SeatGeek's rightsholder clients decide who gets into SeatGeek Enterprise, roughly 80% of the entire enterprise client base. It was built by engineers, for a world with one app. I redesigned it for many.

The redesigned user admin tool
DepartmentRightsholder Experience
enterprise
RoleUX design intern
TimelineJune to August 2026
New York
TeamPM, architect and engineers
ToolsFigma, Claude

01Overview

SeatGeek Enterprise is the software behind ticketing for venues, sports teams, and live entertainment. Before anyone at a club can sell a ticket, settle a payment, or look at a fan's data, an admin has to let them in. That happens in the User Admin tool.

The tool was built engineering-first and shipped to production without a single design pass. It worked. 377 client admins use it every month, and it is the front door to the entire enterprise platform. But nobody had designed it around the person clicking through it.

That had already cost something real. The Minnesota Wild rollout was rolled back, not because anything was broken in the backend, but because the tool was too confusing to trust. When a tool grants access this sensitive, admins who are not confident stop using it, and mistakes get expensive.

The question I was answering

How might we make the User Management app clear and trustworthy enough that any client admin can grant exactly the right access, confidently and without fear of mistakes?

The timing mattered too. SeatGeek was moving to a multi-domain model. Today the tool grants access to one app. Next, one client organization can have several domains, and every domain runs its own instance of each app. The old tool could not stretch that far.

One client org
Domain AApp 1App 2
Domain BApp 1App 2
and
more
Why now: one client organization, many domains, each running its own instance of every app.

02What I made

Meet James. He runs systems for Manchester United and he is the only person there allowed to create a user, remove one, or change what anyone can see. Ninety four people across ticketing, marketing, CRM and IT, in a club listed on the New York Stock Exchange, which makes him the audit holder too.

He opens the tool about once a week, and he keeps an approval form open in another window the whole time, because the tool cannot tell him who changed what. I designed everything against his week.

Manchester United crest

A new hire starts today

James opens the tool to give her access to the apps she will use every day. Before, that meant bouncing between screens, and creating the account never prompted him to set permissions at all.

Before37 clicks to onboard one personOld onboarding flow

Now it is one guided pass. Creating the account and setting what she can reach happen in the same place, in the order he would do them anyway.

Afterunder 18 clicks, all on one screenNew onboarding flow

Someone changes teams

Dana just moved to a new team, so she needs different access and different permissions. Before, that meant hunting through several places and trusting he had not missed one.

Before11 clicks, across several placesOld change access flow

Now the whole change happens on one screen, with guardrails that show what will actually change before it does.

After5 clicks, one screen, guardrails in placeNew change access flow

James forgets his own password

Then one Tuesday after a long weekend, James cannot remember his own password.

Before, there was nothing he could do about that alone. He waited on another admin, or on SeatGeek product support, while somebody set a new one by hand. Until they replied he was locked out of the tool he is in charge of. There is no before to show here, because there was no flow at all.

Now he resets it himself. The reset routes to wherever his account actually lives, his own company's identity provider or SeatGeek's, and for the accounts with no email address the admin can still send a link.

Afterself-serve password reset, the first piece being builtSelf-serve password reset

03Key design moments

It was not just James

One admin is a story, not a case. I started where I could start alone, by reviewing every screen in the tool against usability heuristics and logging what I found. Forty plus findings later I had a map of what was broken.

Audit summary table
The short list it produced.
Screen by screen audit board
Every flow, screen by screen, annotated with what broke and why.

The audit told me what was broken. It could not tell me what actually hurt. So I ran two rounds of interviews. First three SeatGeek experts who train and implement for clients. Then the clients themselves, including the ticket operations team at Manchester United, and the product support person who fields the tickets after onboarding goes wrong.

James has twelve years on the old platform and one month on this one. He found it confusing, and he knows the system better than almost anyone.

Five themes came back, and only two of them were about speed.

01Core flows are slow and confusing

Editing sent you through a multi-screen redirect, and creating a user never prompted for permissions.

02High-stakes actions are error-prone

Admin permissions and app access looked almost identical but granted very different power.

03Critical capabilities are missing

No self-serve password reset, no domain selector, no safe place to test.

04Clarity and trust gaps

Dense jargon, bare empty states, and a red badge that read as an error when it was not one.

05Trainers are flying blind

Internal staff could not see what a client sees, so demos and walkthroughs were guesswork.

The telemetry agreed with them. I went through six months of Datadog and found no crash storm at all. What I found instead was rage clicking, long dwell times on the three core flows, three second page loads, and a list that had timed out 107 times in four months. The tool was not breaking. People were.

Turning a pile of complaints into a plan

Five themes and forty findings is still just a pile. Before I could design anything I had to know what the tool actually is, and what it needed to become.

Current state on the left, future state on the right. Drag the handle to see what changed.

Future state information architecture Future
Current state information architectureCurrent
Current state versus future state. Red is what I wanted gone, purple is what should collapse into one place.

That left a long list of things worth fixing and no agreement on order, so I plotted every one of them by impact and effort. It turned a wish list into a sequence we could argue about with evidence.

Areas of opportunity plotted by impact and effort
Quick wins, functional gaps, and the bets worth making later.

Then I put the top of that list in front of the team and we drew on it together, which is how the solutions stopped being only mine.

Ideation workshop board
Crazy eights on the two hardest questions, with the whole team in the file.

The two tabs that looked the same

The clearest example of theme two sat in one screen. Admin permissions and application access lived in two tabs that looked almost identical, and one of them granted far more power than the other. You could make someone an administrator while you thought you were giving them a report. This is the decision I spent the longest on.

The old flow, showing the two near-identical permission tabs
The old flow. Application access and admin permissions sit in tabs that look the same and read the same.

Three ways out came up, and two of them did not survive contact with how the tool is actually used.

ConsideredHide admin permissions unless the person is already an admin

Raised by the engineering lead in a knowledge transfer, and it is tempting until you follow it through. If admin is hidden until someone is an admin, nobody can grant the first one.

ConsideredPut everyone in a group and let the group carry the permissions

I proposed this in the workshop and it is genuinely good, so it is in the plan. It is not the answer to this problem though. Groups help the routine cases. Mistakes happen in the off-menu ones.

ShippedSeparate the two, then make the consequence unavoidable

Admin permissions moved out of a lookalike tab into their own step, and every high-stakes change now has to pass a screen that states the before and after in plain words.

The last one only works if the review screen is actually readable, and the old confirmation dialogs were not. They were dense, and people clicked past them. So this one lists one line per change, old value struck through, new value in bold, and nothing commits until you have been shown it.

The review changes screen listing each permission before and after
The review step, in place. Every change spelled out as before and after.

That is what I mean by sure instead of fast. It adds a screen. It is still fewer clicks than before, and now every screen answers two questions before you commit: who has what, and what will this change actually do?

Five unmoderated tests later

I ran five unmoderated tests on the prototype, covering the three flows that mattered: create a user, change someone's access, and help someone locked out. Everyone got through creating a user and changing access. Ease scores told the real story. Creating scored 6.2 out of 7, helping a locked-out user scored 6.8, and editing an existing person's permissions scored 4.6. That was the flow still doing too much thinking out loud.

Confidence ratings said the same thing more bluntly. Resetting a password scored a perfect 5 out of 5 from every single tester. Creating a user scored 4.4. Changing an existing person's permissions scored 3.6, which is the number I would put in front of the next designer on this.

The tests also settled what to build first. Product support had told me something I kept coming back to: they barely get tickets about this tool at all, but when they do, it is almost always a password reset. It was the smallest thing to build, it was the one piece of pain support actually felt, and it tested the best of anything I made. So it went first.

Four rounds, several design crits, and a graveyard of ideas that did not survive them. This is what the summer actually looked like.

Figma canvas showing four rounds of iteration
Behind the scenes.

04Impact

5.0 / 5confidence helping a locked-out user, unanimous across all five admins tested
51%fewer clicks to onboard a new user, down from 37 to under 18
55%fewer clicks to change someone's access, down from 11 to 5
100%of password resets an admin can now do alone, up from none

Measured against the current tool in prototype testing with five admins. The build starts next quarter, so these are the numbers I handed over, not shipped results.

Recapping, the business outcome we expect is this. Clients run access themselves and feel sure while doing it. SeatGeek gets faster rollouts, fewer support escalations, and less risk on the data that matters most as the enterprise products scale.

I presented the work to the CTO, the head of enterprise, and the directors at the end of the summer. It landed well, and the redesign is scheduled to be implemented next quarter. Password reset is in development now, the core redesign is next, and the nice to haves are queued behind it.

05Reflections

Confidence beats speed

I came in trying to cut clicks, and clicks turned out to be the easy part. People were a little afraid of this tool, and a faster way to make a scary mistake is not an improvement. Once I designed for certainty instead of speed, the flows got simpler on their own and the click count came down anyway.

Design for the job, not the client

Every client asked for something different, and for a while I tried to hold all of it. Underneath, the job was almost always the same. One screen could answer five different requests once I designed for the job instead of the request.

The intern cohort at a Mets game
Watched the Mets game with the intern cohort ⚾️