Intro
Overview
The Challenge
Solution
Design
Outcomes
Next Steps
Fit Day
AV
Hermione GrangerNot Checked In
Not Met – Bib Pulled
IncentivesReservedOther
Bib
1
Bib Number:
Tech Shirt or Singlet
1
Shirt Size:Small
Select...

UX Case StudySt. Jude Children's Research Hospital

St. Jude
Fit Day

St. Jude's internal check-in tool — used by staff and volunteers at the Memphis Marathon and Rock 'n' Roll Running Series events nationwide — to manage bib pulls, track runner incentives, and process thousands of St. Jude Heroes across expo hours.

Lead UX Designer
Internal Web App
Field Research · User Testing · Stakeholder Interviews
Redesigned St. Jude marathon check-in tool — reduced expo friction for thousands of runners nationwide

Overview

Project Overview

The Problem

The existing check-in software made it nearly impossible for volunteers and employees to quickly identify pulled bibs, know what items each runner should receive, or track overall event progress — creating long lines and frustrated runners on race day.

Business Goals

Reduce check-in time and line length at marathon expo booths
Empower volunteers to resolve issues on the spot — without escalating to a manager
Create an auditable record of what items were given to each runner

User Goals

Quickly understand why a runner's bib was pulled and where to find it
Know at a glance what items each runner should receive based on their fundraising level
Track t-shirt sizes given out to support future inventory planning

My Role

I led the redesign end-to-end, from research through shipping. Rather than interview users in a conference room, I worked the events firsthand — staffing the booth, observing where volunteers got stuck, and interviewing territory leads during and after expo hours. That field research is what surfaced the real friction points and shaped every design decision that followed.

Design Constraints

This was an internal tool built for speed. The engineering team needed to ship quickly, and the product had to stay simple and maintainable — which meant the design had to work within existing component libraries and avoid anything that would require heavy custom development. There was no room for elaborate UI patterns or experimental interactions.

That constraint shaped every decision: layouts needed to be clean and scannable without relying on visual complexity, and any new UI element had to earn its place by solving a clear problem rather than adding polish. Getting new design elements adopted inside a large organization is genuinely difficult — teams move fast, standards are locked, and anything unfamiliar adds friction for developers and product owners alike.

Speed over polish

Engineering needed to move fast. Every design decision had to be defensible in terms of development cost — no speculative complexity.

Standard components only

The team worked within existing UI libraries. Custom components had to have a strong functional justification to make it past review.

Clarity over style

Volunteers and employees use this tool under pressure, in noisy expo environments, often for the first time. Intuitive and scannable beat visually ambitious every time.

How the Marathon Works

St. Jude partners with Rock 'n' Roll Marathon Series to offer runners the option to fundraise for St. Jude instead of paying a registration fee. Runners who choose this path commit to raising a certain amount before race day. Depending on how much they raise, runners earn different incentive levels — Bronze, Silver, Gold, Platinum — each with different perks and swag.

Bronze
Silver
Gold
Platinum

The Challenge

What Wasn't Working

01

The Bib Pull Problem

When a runner chose to fundraise instead of paying a registration fee, they committed to raising a minimum amount. If they didn't hit that goal before the event, Rock 'n' Roll pulled their bib from the standard check-in process. Those runners were redirected to the St. Jude booth at the expo to retrieve it.

The problem: the old software had no way to flag that a bib had been pulled. When a confused runner arrived at the booth, volunteers had to look them up, make an educated guess about why the bib was pulled, and then physically search through a box of bibs sorted by number — a number that didn't always appear clearly on the profile because it had to be uploaded through a separate platform.

The cascade of confusion:

1
Runner arrives confused about why their bib wasn't at check-in
2
Volunteer searches the profile — no bib pull flag visible
3
Volunteer makes a guess based on fundraising data
4
Digs through a physical box of bibs sorted by number
5
Bib number often not visible on-screen — uploaded separately

The Old Profile

Old Fit Day profile — before redesign

The original profile showed participant data but gave no clear indication of pulled bibs, and the layout made it hard to scan quickly under pressure.

02

The Profile Clarity Problem

The old profile was hard to scan. Volunteers couldn't quickly determine what items a runner should receive — different fundraising levels earned different incentives, and there was no structured way to know what had or hadn't been handed out. T-shirts in particular were a constant source of friction: volunteers had no way to record whether a shirt had been given or what size, leaving future event planning as guesswork for organizers.

No incentive tracking

Volunteers had to mentally cross-reference what each participation level was entitled to — information that wasn't surfaced on screen.

No t-shirt record

There was no way to log whether a runner had received their shirt or what size, making year-over-year inventory planning impossible.

Hard to scan under pressure

With lines forming during expo hours, a dense unstructured layout slowed every interaction at the busiest moments.

Solution

What We Built

Bulk Bib Pull Upload

Admins can now upload an Excel file of all pulled bibs — with names and numbers — directly into the system. The profiles of affected runners are automatically flagged with a 'Not Met – Bib Pulled' badge on their commitment field, so volunteers know immediately why the runner is at the booth and where their bib is.

Check-In Checklist

A structured checklist on each participant profile tells volunteers exactly what items to hand out based on the runner's fundraising level. Volunteers check off each item — including t-shirt size — creating an auditable record per runner and giving organizers usable data for future inventory planning.

Rainbow Progress Bar

A color-coded bar at the top of the event dashboard shows how many runners from each fundraising level have checked in. Gold, Silver, Bronze, Platinum, and Other are each displayed with their live counts, giving territory leads an at-a-glance picture of event progress across all levels.

Advanced Participant Filtering

The participant list gained filters for Participation Type, Checked In status, and Bib Pulled status. Volunteers can now instantly surface who still needs to pick up their bib, or pull a list of everyone in a specific fundraising tier — dramatically reducing search time at the booth.

Check-In Counter

A live counter at the top of each event shows total checked-in vs. registered participants, keeping staff informed of how many people are still expected throughout expo hours without needing a separate report or spreadsheet.

Exemption Notes (Role-Restricted)

When a runner has a legitimate reason for not meeting their fundraising goal — financial hardship, personal circumstances — staff can add an exemption note directly on the profile. The note is hidden from lower-access roles, keeping sensitive information visible only to those who need it.

Rainbow Bar — Live Example

Checked In: 0 / 643
643 remaining
Nov 2 · Doors open
643Remaining
Bronze
Platinum
Silver
Gold
Other

The bar shows remaining participants in gray, with each fundraising tier in its own color. Territory leads can see at a glance which levels are still largely un-checked-in and where to focus attention.

🌈

Designed Under Constraints — Adopted Org-Wide

The rainbow bar started here — and is now used across multiple applications in the organization.

Building a new design element that gets adopted at scale inside a large organization is genuinely rare. The bar was designed within tight constraints — standard components, fast delivery — but it solved a visualization problem clearly enough that other teams picked it up independently.

Design

The Screens

Bib Pull Management

The bib pull screen allows admins to upload a bulk Excel file of all runners whose bibs were pulled. Once uploaded, the system logs the date, time, and uploader, and creates a searchable table of affected participants.

Each entry shows P2P ID, name, phone, participation level, check-in status, commitment status, and upload type (Bulk or Manual). Admins can also add individual P2P IDs manually for edge cases.

Replaces the physical box of sorted bibs with a searchable digital list
Bulk upload via Excel — no manual entry for large events
Audit trail: who uploaded, when, which file
Profiles automatically flagged once upload is processed
Bib Pull management screen

Event Dashboard & Participant Search

The event view surfaces everything a territory lead needs at the top: location, date, time, event code, and the live check-in counter. Below that, the rainbow bar shows checked-in counts by level.

The participant search lets volunteers look up by first name, last name, phone number, P2P ID, or email. Below the search, filter dropdowns let staff narrow the list by participation type, check-in status, or bib pull status — surfacing exactly who they need in seconds.

Filtering in practice

Setting "Checked In: No" + "Bib Pulled: Yes" instantly shows every runner who still needs to collect a pulled bib — a list that used to require manually scanning a physical box with no digital equivalent.

Event dashboard with rainbow bar and participant search

Redesigned Participant Profile

The new profile gives volunteers everything they need in a scannable layout. The participant's name and check-in status are prominent at the top. Contact details, P2P ID, participation type, and team info are organized in a clean grid.

The Payment section clearly shows whether a runner's commitment was met — and when a bib was pulled, it appears as a red "Not Met – Bib Pulled" badge directly on that field. No guessing required.

1
Warning banner

Top-of-page alert: 'Participant needs a Card on File or complete commitment'

2
Bib Pulled badge

Red indicator on the commitment field — visible immediately on load

3
Check-In Checklist

Structured list of items to hand to the runner, with checkboxes and shirt size dropdown

4
Comments section

Free-form note field for any additional context, saved per participant

New participant profile — with bib pull flag and checklist
1
2
3
4

Check-In Checklist

🖼

Check-in checklist — items and shirt size

Upload in right panel

Volunteers check off Bib and Tech Shirt / Singlet as they hand them out. Shirt type and size are recorded via dropdown, giving organizers real data for next year's orders.

Exemption Note

🖼

Exempt from paying modal

Upload in right panel

When a runner has a legitimate reason for not meeting their goal, staff can mark them as exempt and leave a note. The note is visible only to roles with the right access level.

How We Validated the Design

User testing for this project happened in the field. I worked the events firsthand — standing at the St. Jude booth during actual marathon expos and watching the check-in process in real time. That direct exposure made the friction points undeniable.

After and between events, I sat with volunteers and territory leads who do this work at every major marathon. Their insights shaped every feature.

Volunteers

"I never know if the bib is here or why it was pulled until I've already told the runner I don't know."

Territory Leads

"We order t-shirts every year without knowing what sizes we actually gave out. We're always over on smalls and out of mediums."

Event Staff

"When someone has a personal reason for not meeting their goal, I don't want that on the screen for the person behind them in line to read."

Outcomes

What We Delivered

The redesigned Fit Day software shipped and was used at St. Jude marathon events across the country. The changes reduced friction at the booth, gave volunteers and employees confidence in their check-in decisions, and created a data trail that didn't exist before.

6
Key features shipped
22,500+
Runners served
🌈
Rainbow Bar adopted org-wide
First t-shirt tracking system

Impact Summary

Volunteers can now identify a pulled bib and explain why to the runner in seconds — no physical box search required
The check-in checklist ensures every runner receives the correct incentive items, with shirt sizes recorded for inventory planning
Territory leads have a live view of check-in progress by fundraising level for the first time
Sensitive exemption notes are visible only to authorized roles, keeping personal information off the public screen
The filtering system lets staff surface any subset of participants instantly — unchecked runners, bib pulls, specific tiers
The rainbow bar component was adopted across multiple applications in the organization — a new design element that earned its place under tight constraints

See It in Action

A walkthrough of the redesigned check-in flow captured during QA testing — from participant search through checklist completion.

🖼

QA Walkthrough Video (.mp4)

Upload in right panel

Next Steps

What's Next

Key Takeaway

"The best research happened on race day — not in a meeting room."

Working the events firsthand meant I saw exactly where the process broke down — the moment a confused runner walked up, the scramble through a physical box, the volunteer's apologetic shrug. That experience made the design decisions obvious in a way no stakeholder interview could have.

Build post-event reports that aggregate shirt sizes given across all participants — giving organizers exportable data for next year's orders without manual counting.

Expand the exemption note system to support role-based visibility tiers, so different levels of staff see different levels of detail without a shared credential workaround.

Add a runner-facing notification or confirmation mechanism — so participants whose bibs are pulled receive advance notice before arriving at the event, reducing confusion at the booth.

Explore a mobile-first redesign of the check-in flow for volunteers working with tablets or phones during high-volume events.

Introduce a post-event feedback loop: a lightweight survey for volunteers and territory leads after each event to surface emerging friction points and inform the next design iteration.

© 2026 Amy Vorchheimer. All rights reserved.
Designed with intention