I self-taught HoloLens 2 development via Microsoft Learn, tested four AR anchor designs to find the optimal head-attached configuration, and built an OpenAI-powered conversational AI tutor in a 3D mixed reality tutorial room. I volunteered to set up MQTT integration after a team ownership gap emerged, contributed action data for AI model training, and stepped in to maintain team morale during a repeated Bluetooth connectivity crisis — ultimately helping the team reach ~90% AI action prediction accuracy.
Developed the heads-up AR game visualizer
Motivation
Traditional game UIs sit on flat screens. Translating live match data — health bars, attack effects, shield states — into spatially grounded AR overlays that feel natural in a physical laser tag environment required rethinking game UI from the ground up
Action
- Built the HoloLens 2 Unity application with real-time AR overlays showing player health, shield status, and attack outcomes in the player's first-person view
- Designed spatial UI elements anchored to the physical world rather than screen-space to maintain immersion during gameplay
- Implemented dynamic visual feedback — hit animations, shield break effects — triggered by live game state from the evaluation server
AR game visualizer UI on Microsoft HoloLens 2
Challenge
No one in the cohort — nor in the course's entire history — had used Microsoft HoloLens 2 to build their AR visualizer. There was no existing project to reference, and I needed to quickly familiarise myself with HoloLens 2 development early in the project to avoid falling behind on my component
Solution
Completed numerous Microsoft HoloLens 2 tutorials on the Microsoft Learn website — including the HoloLens 2 Fundamentals and Mixed Reality Application Development courses — which equipped me with the technical proficiency needed to programme custom applications for the HoloLens 2 independently
Designed a user-friendly AR image recognition anchor
Motivation
For the HoloLens 2 to accurately detect and track the opposing player's position, that player must wear an image recognition anchor — similar to a QR code — that the headset can lock onto. The size, position, and visual appearance of this anchor needed careful design to maximise two dimensions of usability: the HoloLens's ability to consistently detect and track the anchor, and the comfort and satisfaction of the player wearing it
Action
Designed and tested multiple AR anchor variants across different sizes (A4 vs A6), placements (head-attached, chest, shoulder, mask-based), and visual designs — evaluating each on tracking reliability and wearer experience
A6 — Mask-based
A6 — Shoulder-top
A4 — Player chest
A4 — Head-attached ★ Final design
Integrated with the full hardware system
Motivation
The AR visualizer was useless in isolation — it needed to receive live data from the FPGA action recognizer, game evaluation server, and wearable sensor hardware in real time for the full gameplay loop to function
Action
- Implemented MQTT-based communication connecting the HoloLens 2 to the broker laptop, game evaluation server, and FPGA inference output
- Coordinated with teammates responsible for the FPGA pipeline and sensor hardware to align data formats and message schemas
- Debugged end-to-end latency across the full system to ensure AR feedback felt responsive during live gameplay
Challenge
At the start of the project, the responsibility for setting up communication between HoloLens 2 and the rest of the system was unclear — I assumed it would be handled by the teammate working on internal communication, while that teammate assumed it fell under my AR output component. This created an ownership gap that risked leaving my visualizer disconnected from the rest of the system
Solution
After clarifying the misalignment through team communication, and recognising that my teammate had enough on their plate with other components, I volunteered to take ownership of this integration. I independently set up the MQTT connection between HoloLens 2 and the rest of the system by working through YouTube tutorials, successfully bridging my AR visualizer to the game evaluation server and FPGA inference pipeline
Supported team-wide AI training data collection
Motivation
The teammate working on the AI component needed action data from all team members to train a model capable of accurately classifying different game inputs — a single person's data would lack the variability needed for the model to generalise across different users. For example, a punching action should be classified as a punch, while a circular hand motion in front of the user should activate the shield. Everyone volunteered their time to contribute action samples for training
Action
- Provided repeated action data for all game attacks — including fencing attack, badminton attack, and shield activation — to build a diverse and representative training dataset
- Helped troubleshoot hardware issues with the team during data collection sessions, such as inconsistent Bluetooth BLE connection between the wearable sensors and the laptop
Challenge
Team morale hit an all-time low midway through the project when the hardware periodically lost its Bluetooth BLE connection with the laptop for no apparent reason — erasing all the data collected in that batch. This happened repeatedly, forcing the team to redo entire sets of actions each time and dragging the data collection process well beyond its intended duration
Solution
I stepped in to calm the team down and encouraged everyone to rally around the teammate responsible for hardware and internal communication to debug the issue together, rather than letting frustration pull the team apart. Through collective troubleshooting, we resolved the connectivity issues and collected enough data to train an AI model that achieved approximately 90% action classification accuracy
Implemented a conversational AI game tutor
Motivation
For a holistic user experience, I wanted to create an in-world tutorial space where players could learn the game rules in mixed reality before competing — rather than relying on a flat instruction screen that would break immersion
Action
- Created a separate mixed reality space that users can enter in HoloLens 2 for the tutorial experience
- Integrated the OpenAI API to build an embodied conversational agent that accepts freeform speech input from the user and answers questions about game rules in natural language
Development process behind the conversational AI game tutor
Challenge
No one else in the cohort was building a game tutorial or integrating the OpenAI API in mixed reality — there was no existing project to reference. Debugging was particularly difficult because errors occurring inside the mixed reality environment were hard to surface and translate onto a desktop for investigation
Solution
By reading through the OpenAI developer forums and Stack Overflow, I was able to diagnose and resolve all the errors that arose during development, and successfully shipped an embodied conversational agent that could interact with users in mixed reality to explain game rules