PitchLoop is a Vision Pro app for practicing under real pressure
PitchLoop is a Vision Pro app for practicing under real pressure
Company
Company
Center of Academic Innovation UofM, School of Law UofM, Apple Vision Pro
Center of Academic Innovation UofM, School of Law UofM, Apple Vision Pro
Center of Academic Innovation UofM, School of Law UofM, Apple Vision Pro
Collaborators
Collaborators
Team of 4, advised by Jeremy Nelson, Michael Nebeling, and Patrick Barry. Dev guidance from Dave Pugh.
Team of 4, advised by Jeremy Nelson, Michael Nebeling, and Patrick Barry. Dev guidance from Dave Pugh.
Team of 4, advised by Jeremy Nelson, Michael Nebeling, and Patrick Barry. Dev guidance from Dave Pugh.
Timeline
Timeline
Winter 2026 (15 weeks)
Winter 2026 (15 weeks)
Tools
Tools
Apple Vision Pro ยท Swift UI ยท RealityKit ยท SharePlay ยท Strata ยท Figma
Apple Vision Pro ยท Swift UI ยท RealityKit ยท SharePlay ยท Strata ยท Figma
Apple Vision Pro ยท Swift UI ยท RealityKit ยท SharePlay ยท Strata ยท Figma
Role
Role
XR & Spatial Product Designer
XR & Spatial Product Designer
XR & Spatial Product Designer
Skills
Skills
Design & Research, Spatial & XR, 3D & Audio, Prototyping & Development
Design & Research, Spatial & XR, 3D & Audio, Prototyping & Development
Design & Research, Spatial & XR, 3D & Audio, Prototyping & Development
Context
Practicing a high-stakes speech alone doesn't prepare you for one.
Practicing a high-stakes speech alone doesn't prepare you for one.
Under the Center of Academic Innovation at University of Michigan, our team was tasked to improve online learning into an immersive VR experience. After researching clients across 19 schools, we narrowed down to a UofM online course and partnered with Patrick Barry, who teaches law courses like Feedback Loops.
Under the Center of Academic Innovation at University of Michigan, our team was tasked to improve online learning into an immersive VR experience. After researching clients across 19 schools, we narrowed down to a UofM online course and partnered with Patrick Barry, who teaches law courses like Feedback Loops.

The pressure that makes a courtroom argument or investor pitch hard is what solo rehearsal can't reproduce. For remote learners the gap is worse: students in online communication courses can watch lectures and record themselves, but they have no audience, no spontaneous reactions, and no one to tell them how they actually came across.
The pressure that makes a courtroom argument or investor pitch hard is what solo rehearsal can't reproduce. For remote learners the gap is worse: students in online communication courses can watch lectures and record themselves, but they have no audience, no spontaneous reactions, and no one to tell them how they actually came across.
The Challenge
Three interviews & one consistent gap
Three interviews & one consistent gap
3rd Year law student
"AI is useful for inital evaluation, but nonverbal communication is what makes or breaks legal performance"
3rd Year law student
"AI is useful for inital evaluation, but nonverbal communication is what makes or breaks legal performance"
3rd Year law student
"AI is useful for inital evaluation, but nonverbal communication is what makes or breaks legal performance"
Coursera Editor
"Online learning misses channels for targeted feedback"
Coursera Editor
"Online learning misses channels for targeted feedback"
Coursera Editor
"Online learning misses channels for targeted feedback"
Post grad 3 years out
"Speakers struggle to calibrate content depth in a presentation; what helps is collaborative learning and ral-time feedback
Post grad 3 years out
"Speakers struggle to calibrate content depth in a presentation; what helps is collaborative learning and ral-time feedback
Post grad 3 years out
"Speakers struggle to calibrate content depth in a presentation; what helps is collaborative learning and ral-time feedback
Synthesized, these named two problems and two opportunities: feedback loops are disconnected, and remote practice lacks real-world presence, so the opening was specific observational feedback (not generic praise) delivered through real interruptions, questioning, and emotional response.
Synthesized, these named two problems and two opportunities: feedback loops are disconnected, and remote practice lacks real-world presence, so the opening was specific observational feedback (not generic praise) delivered through real interruptions, questioning, and emotional response.
How might we move from one-directional speaking to adaptive conversation that mirrors real-world interaction in remote environments?
How might we move from one-directional speaking to adaptive conversation that mirrors real-world interaction in remote environments?

Validating with a Survey
Students wanted realism, immediacy, & explanation together
Students wanted realism, immediacy, & explanation together
A survey of 17 students confirmed the direction and ranked what mattered. Live audience reactions were the #1 unprompted ask. Students volunteered it without being asked, which made it the strongest signal in the data. Realism to students was behavioral, not visual. This includes people shifting and coughing, a door closing, "a bunch of eyes staring at you, with some heads nodding and others just still.โ
A survey of 17 students confirmed the direction and ranked what mattered. Live audience reactions were the #1 unprompted ask. Students volunteered it without being asked, which made it the strongest signal in the data. Realism to students was behavioral, not visual. This includes people shifting and coughing, a door closing, "a bunch of eyes staring at you, with some heads nodding and others just still.โ
Prompt feedback & realistic environment
Prompt feedback & realistic environment
Prompt feedback & realistic environment
Feedback during & after the session
Feedback during & after the session
Feedback during & after the session
Written feedback explanation from AI
Written feedback explanation from AI
Written feedback explanation from AI
Preferred to practice in virtual spaces
Preferred to practice in virtual spaces
From research to design
Pressure is synchronous; evaluation is asynchronous
Pressure is synchronous; evaluation is asynchronous
71% of students wanted immediate feedback during a presentation, and just as many wanted a detailed explanation afterward. While a student is speaking, they can barely take anything in, so the live experience stays light: they feel the audience react without stopping to think about it. The deeper analysis comes at the end of the session, when they have the attention to absorb it. That's when feedback gets gathered, explained, and turned into another try.
71% of students wanted immediate feedback during a presentation, and just as many wanted a detailed explanation afterward. While a student is speaking, they can barely take anything in, so the live experience stays light: they feel the audience react without stopping to think about it. The deeper analysis comes at the end of the session, when they have the attention to absorb it. That's when feedback gets gathered, explained, and turned into another try.
That principle drove the specific interaction rules


Design Iterations
Three things that changed after we built it
Three things that changed after we built it
The strata prototype revealed what the wireframes couldn't: where the flow broke, where feedback confused instead of helped, and where we were designing for data we didn't have.
The strata prototype revealed what the wireframes couldn't: where the flow broke, where feedback confused instead of helped, and where we were designing for data we didn't have.








We added onboarding for both roles to prevent the confusion that can derail a session.
Without onboarding, speakers couldn't interpret live cues and audience members didn't know how to send them. We added a role-specific pre-session sequence so neither role blindly encounters the system.
Without onboarding, speakers couldn't interpret live cues and audience members didn't know how to send them. We added a role-specific pre-session sequence so neither role blindly encounters the system.
We rebuilt the feedback model from binary to directional.
While we had four typed categories (Pace, Eye Contact, Volume, and Structure), binary feedback gave the speaker nothing to act on. We replaced them with directional options, so every notification arrives as a specific cue, not a flag.
While we had four typed categories (Pace, Eye Contact, Volume, and Structure), binary feedback gave the speaker nothing to act on. We replaced them with directional options, so every notification arrives as a specific cue, not a flag.
We scoped the scorecard to what the data could actually support.
The first scorecard showed granular timelines and audience quotes with data that the live session couldn't produce. I simplified what feedback actually generates: type counts and audience agreement, organized into four category cards that mirror the same feedback channels the speaker saw in real time.
The first scorecard showed granular timelines and audience quotes with data that the live session couldn't produce. I simplified what feedback actually generates: type counts and audience agreement, organized into four category cards that mirror the same feedback channels the speaker saw in real time.
Solution
PitchLoop VR bridges the gap between solo and high-stakes performance
PitchLoop VR bridges the gap between solo and high-stakes performance
Our team of four researched, designed, and built PitchLoop VR, a multi-user Apple Vision Pro experience where one student presents inside an immersive pitch room while peers join over SharePlay as a live audience with real faces via Spatial Personas. The audience sends structured reactions during the speech. The speaker receives them as glanceable cues. A review stage afterward turns the session into a scorecard, discussion, and a retry.
Our team of four researched, designed, and built PitchLoop VR, a multi-user Apple Vision Pro experience where one student presents inside an immersive pitch room while peers join over SharePlay as a live audience with real faces via Spatial Personas. The audience sends structured reactions during the speech. The speaker receives them as glanceable cues. A review stage afterward turns the session into a scorecard, discussion, and a retry.


Our team decided to use the apple vision pro as the main platform of the experience for its advanced spatial senses, simulating real-time experiences for our target user.
Our team decided to use the apple vision pro as the main platform of the experience for its advanced spatial senses, simulating real-time experiences for our target user.

Speaker View
What the speaker sees while presenting. Feedback arrives as a single glanceable cue near their sightline, so a quick glance reads as eye contact with the audience, never as looking away to check a screen.
What the speaker sees while presenting. Feedback arrives as a single glanceable cue near their sightline, so a quick glance reads as eye contact with the audience, never as looking away to check a screen.
Audience View
What each audience member sees. Reactions are structured into four behavioral channels, so feedback stays specific and observational instead of vague praise, and giving it never pulls focus off the speaker.
What each audience member sees. Reactions are structured into four behavioral channels, so feedback stays specific and observational instead of vague praise, and giving it never pulls focus off the speaker.
Building and testing
I learned what worked by building it
I learned what worked by building it
I storyboarded, sketched the room in 360, and prototyped spatially in Strata before writing SwiftUI, running observer and think-aloud sessions at each round. The build itself taught us where the risk was: syncing state between speaker and audience consumed most of the early sprints, so we learned to de-risk the hardest system first and freeze interaction contracts before polishing screens.
I storyboarded, sketched the room in 360, and prototyped spatially in Strata before writing SwiftUI, running observer and think-aloud sessions at each round. The build itself taught us where the risk was: syncing state between speaker and audience consumed most of the early sprints, so we learned to de-risk the hardest system first and freeze interaction contracts before polishing screens.
Avatar broke presence instead of building it
Static 3D figures confused eye contact more than they simulated an audience, felt uncanny, and ate modeling time. We adopted Spatial Personas instead.
Static 3D figures confused eye contact more than they simulated an audience, felt uncanny, and ate modeling time. We adopted Spatial Personas instead.
Scoring down to what we could trust.
With no real session data yet, a complex analytics dashboard would have been decoration, so we simplified to low-effort audience input. We also scoped session recording and the reflective-avatar replay out of version one and kept them on the roadmap rather than ship them shallow.
With no real session data yet, a complex analytics dashboard would have been decoration, so we simplified to low-effort audience input. We also scoped session recording and the reflective-avatar replay out of version one and kept them on the roadmap rather than ship them shallow.

Outcome
What we shipped, and who noticed
In 12 weeks, we shipped a working synchronized multi-user prototype on Vision Pro, with role-gated stage flows, live feedback transport, and an aggregated review. The team learned SwiftUI and visionOS from zero. The project won Design XR Hackathon 2026 and the Girls in STEM Hardware AI award.
Michael Nebeling, a professor of XR and human-computer interaction, responded strongly to the work, and his main note was that we should surface even more of the engineering behind it. An Apple representative at the Center for Academic Innovation encouraged us to pitch the concept to Apple as a reference for future Vision Pro use cases.
In 12 weeks, we shipped a working synchronized multi-user prototype on Vision Pro, with role-gated stage flows, live feedback transport, and an aggregated review. The team learned SwiftUI and visionOS from zero. The project won Design XR Hackathon 2026 and the Girls in STEM Hardware AI award.
Michael Nebeling, a professor of XR and human-computer interaction, responded strongly to the work, and his main note was that we should surface even more of the engineering behind it. An Apple representative at the Center for Academic Innovation encouraged us to pitch the concept to Apple as a reference for future Vision Pro use cases.


Reflection
Three things I'd carry into future projects
Designing for XR rewired how I think about interfaces.
In 2D, the screen holds the user's full attention. In a spatial pitch room, attention is the scarcest resource in the experience, since anything the speaker has to look at is a moment they're not looking at their audience. Almost every design decision came back to protecting that attention rather than filling the space.
In 2D, the screen holds the user's full attention. In a spatial pitch room, attention is the scarcest resource in the experience, since anything the speaker has to look at is a moment they're not looking at their audience. Almost every design decision came back to protecting that attention rather than filling the space.
I learned the build to design for it.
I came in without Xcode or SwiftUI and picked them up over the semester, which changed how I designed. Working in the real medium instead of mocking it up meant I could feel which interactions were cheap and which were expensive, and design accordingly.
I came in without Xcode or SwiftUI and picked them up over the semester, which changed how I designed. Working in the real medium instead of mocking it up meant I could feel which interactions were cheap and which were expensive, and design accordingly.
The best UI decisions came from talking to the back-end.
Because feedback transport and session state lived in my teammates' code, I had to keep checking my front-end choices against what the system could actually do, and against our original research, at the same time. The interface only worked because those three things, the design, the build, and the findings, stayed connected.
Because feedback transport and session state lived in my teammates' code, I had to keep checking my front-end choices against what the system could actually do, and against our original research, at the same time. The interface only worked because those three things, the design, the build, and the findings, stayed connected.


