Vantage: Immersive Combat Sports Platform
(visionOS, iOS) A VR180 combat sports platform for Apple Vision Pro, with watch parties built on a custom SharePlay stack.
I'm a huge UFC fan and this is my passion project. Vantage is a cross-platform (visionOS, Meta Quest) immersive sports network built to solve the isolation problem in VR. It combines stereoscopic VR180 capture with a social layer that keeps playback in sync across devices with minimal latency.
Why I built Vantage
I built Vantage because I wanted to sit cage-side at a UFC event with my friends, reacting to every technique and knockout blow. With modern mixed-reality devices, that experience no longer requires a ticket.
The consumer VR market is still niche, but that made Vantage the perfect proving ground: shared presence experiences and custom RealityKit rendering pipelines, tested against real users and real broadcast partners.
The "Fan" Experience
Building a Netflix-style VOD app is a solved problem. Building a synchronous, spatially-aware social theater on first-generation hardware (Apple Vision Pro) is not:
- Stereoscopic 180° Video: 8K 3D playback at 60fps.
- Spatial Personas: Rendering remote users in the local coordinate space with correct depth occlusion.
- Frame-Perfect Sync: Keeping 5+ clients perfectly aligned for "live" reactions.
Built for both iPhone and Apple Vision Pro
The best way to experience this content is on the Apple Vision Pro, with full stereoscopic playback. But almost nobody owns a Vision Pro, so I built an iOS client with a "Magic Window" experience: you point your phone to look around inside the video, like YouTube VR.
Core Engineering Features
1. The "Simulated Live" Premieres
Live events are much more exciting because we don't yet know the outcome. The story is unfolding in realtime. A true live stereoscopic broadcast wasn't feasible, but I figured I could get most of the way there by "simulating" one.
Just like Apple's recent WWDC keynotes, which are pre-edited but still "live," I built a pipeline that injects pre-produced VR180 content into a live HLS stream.
- Outcome: The urgency of a live PPV event with the production quality of edited video.
- Tech: Custom HLS manifest generation, synchronized start triggers, and a single big button to simplify UX.
2. Immersive Watch Party - SharePlay Architecture
Apple's GroupSessionMessenger is unauthenticated by default, allowing malicious clients to spoof senderUUID and hijack sessions.
- Solution: I implemented a signed-message protocol. Critical actions (e.g., "Start Event", "Kick User") are wrapped in a JWT and verified against a Supabase/Edge Function backend before propagation.
- Result: A zero-trust architecture that protects paid content and prevents "griefing" in public lobbies.
3. Custom RealityKit Player (Forked)
Apple's native AVPlayerViewController does not support custom immersive environments (like side-by-side Spatial Personas) alongside 3D video.
- Implementation: Forked an open-source RealityKit player for low-level access to the render loop, so I could composite 3D video textures behind the translucent Spatial Persona layer.
The Pivot to B2B: ImmersiveWatchParty SDK
The most valuable thing in Vantage turned out to be its networking stack, so I extracted the synchronization logic into a standalone binary framework.
- Product: A drop-in Swift package that lets any visionOS app add "FaceTime Watch Together."
- Strategy: The consumer market will take time to mature. Licensing the sync stack to other media companies doesn't have to wait.
Content & Partnerships
- Fight Night San Jose (Scott Coker): Exclusive VR broadcast partner.
- Dirty Boxing (DBX): Partnered with Mike Perry and Jon Jones' league for their inaugural VR shoot in January 2026.
- Up Next Fighting: An up-and-coming MMA promotion in L.A.
Data-Driven Iteration
- Discovery: People needed a way to find others to watch with. Not many people own a Vision Pro, so I built an in-app "Lobby" system that connects users with other sports fans over a FaceTime call.
- Retention: DAU stays low (hardware friction is real), but social sessions regularly run past 20 minutes, which validates the "Social VR" thesis.
From the Stands to the Headset
I've been to a lot of MMA events, and Vantage exists to give fans who can't be there the same feeling. Here are some of the events I've attended:
What's Next
- Quest/Vision Parity: Bridging the UX gap between the Unity-based Quest app and the SwiftUI-native visionOS app.
- Live HLS Scaling: Stress-testing the "Simulive" experience.