Back to Work

product

XOGO

Xogo is an accessible entertainment platform developed by Bansen Labs for people with motor disabilities. Players explore VR games and communicate their needs, while caregivers view the experience and assist from a phone. Tablet-based communication and web management complete the platform.

Within a core development team, I led cross-platform architecture and the shared data model, and developed core features across Unity VR, Flutter, and the web. My work connected device communication, VR streaming, and Firebase backend services.

My role
Full-Stack & Cross-Platform Development Lead

Product Overview

For a player with limited mobility, using VR involves more than putting on a headset. Input methods, interface control, and access to assistance all matter. Xogo connects games, assistive communication, and a caregiver app so that both people can participate from their own devices.

If playback is unavailable, use the external link.

Watch on Bilibili ↗

Connecting Players and Caregivers

Players need accessible controls inside VR; caregivers need visibility into what is happening in the headset. The interfaces serve different purposes while sharing device, user, and game state.

VR: Input and Interaction

The platform supports accessible play and communication through simplified controls and assistive inputs.

I integrated input mapping, game state, and networking in Unity, using OpenXR and the Input System to connect device inputs to the cross-platform control flow.

An assistive communication panel inside a Xogo VR environment, alongside a player wearing a headset

Caregiver App: See and Assist

Caregivers can view the VR experience, send control commands, and review game activity from a phone. Sharing the view and controls gives them a direct way to understand and support the session.

I developed the Flutter app and its interfaces, integrated streaming, interactive control, and user data, and tested the connection with the VR application.

Xogo caregiver app screens showing gameplay data, the VR view, and user management

Assistive Communication

Alongside play, users need a way to express their needs. Xogo’s augmentative and alternative communication (AAC) interface combines categorized words, an on-screen keyboard, and suggestions for composing messages.

Tablet Input Connected to VR

Users can select from categories such as food, activities, and personal care, or type with the on-screen keyboard.

I designed and developed the iPad AAC application, implementing sentence composition, AI-assisted expression suggestions, and real-time messaging with VR.

Games and Activity Feedback

Xogo’s library includes music, action, and space-themed experiences built around accessible controls. The caregiver app presents activity and performance records to help caregivers understand participation.

Game design, visuals, and the product experience were team efforts. My focus was integrating input, state, communication, and data services so that games could run within the platform and connect to the caregiver app.

Xogo VR game-selection interface featuring Music Cafe, Monster Mash, and Space Hero

Discovery, Control, and Streaming

I separated cross-device communication into three responsibilities: discovering devices, establishing control, and streaming the VR view. UDP, TCP, and WebRTC each serve a distinct part of that flow.

A shared GameData model organizes game state, input mappings, and device information across the applications. I also handled asynchronous messages, application lifecycles, connection state, and recovery so that the different runtimes could maintain a consistent view of the session.

UDP

01 · Discover Devices

Discover available devices on the local network so that the mobile app can find the headset.

TCP

02 · Send Control Commands

Deliver control commands over a reliable connection between caregiver actions and the VR application.

WebRTC

03 · Stream the VR View

Stream the headset view to the mobile app so that caregivers can see the current experience.

Accounts, Data, and Development Workflow

Connected devices also need consistent identity, persistent data, and a maintainable development process. I built the backend services and organized project context for ongoing cross-platform work.

Firebase Identity and Backend Services

Using Firebase Auth, Firestore, and Cloud Functions, I built account management, user-data storage, and backend services. I also designed invitations and email notifications to simplify initial setup.

Shared data structures serve Unity, Flutter, and the web, reducing duplicated state-management work across applications.

Structured Context for AI-Assisted Development

I introduced Claude and Codex into the development workflow and organized project memory around architecture, C# and Dart models, interface protocols, and technical decisions. Each task loaded only the relevant context; milestone summaries and history pruning kept that context manageable.

The process helped subsequent tasks retain established decisions while reducing repeated background explanations and irrelevant context.

Presenting Xogo in New York

In 2025, Xogo was presented at the A’ Design Award × Utopia 40×40 International Exhibition at The Blanc Gallery in New York. I attended as an Honorary Special Guest and gave a presentation on the platform and its cross-device experience.

Yifan Qin presenting Xogo at the UTOPIA exhibition in New York, with product slides behind him and an audience in front

Team Recognition

The Xogo team received 12 international awards, including the iF DESIGN AWARD, MUSE Gold, and London Design Awards Gold. The product reflects collaborative design and development; the engineering responsibilities in this case study describe my part in that work.

View certificate and design credits ↗China.com logoCoverage on China.com
Skills & tools
  • Unity
  • C#
  • OpenXR
  • Input System
  • Flutter
  • Dart
  • JavaScript
  • Python
  • WebRTC
  • UDP / TCP
  • REST API
  • Firebase Authentication
  • Firestore
  • Cloud Functions
  • FCM
  • AWS Lambda
  • CI/CD
Context
Bansen Labs · core development team