Final Year Capstone project
UX & CAD Designer
As part of my final-year capstone at McMaster University, I worked on designing and prototyping a Virtual Rooms platform to help students gain hands-on experience in automation and manufacturing remotely. The project addressed the growing need for digital learning environments during COVID-19 by creating a web-based digital twin of McMaster’s Learning Factory.
3D modeling, Researching, Protoyping
Design Sprint,
Agile, SDLC
Blender, Fusion 360
Three JS
12 Months
January - December
During the COVID-19 pandemic, students in automation and manufacturing programs lost access to physical labs and equipment, making it nearly impossible to gain hands-on training. Traditional online learning tools fell short—they could deliver theory but not immersive, practice-based experiences.
At the same time, universities faced mounting pressure to scale remote learning solutions while maintaining quality and safety. Existing campus housing portals or LMS integrations lacked interactive, 3D, or VR-based capabilities that would simulate a real factory environment.
To design a virtual learning environment that was same as McMaster’s Learning Factory. Such a platform could provide students with interactive, accessible, and safe hands-on training in robotics, PLC programming, and industrial processes—directly from their browsers.
Walk through of final design of virtual learning factory web-app
Creating a web-based simulation platform to gamify learning by enabling students to virtually interact with campus machines, while giving professors an effective tool to support online teaching and lab instruction.
I collaborated with faculty and student participants to understand core needs, environments, and tasks. We conducted semi-structured interviews and live observations to capture current workflows, major challenges, and opportunities for improvement. Insights from this research informed requirements and the initial product roadmap.
6 participants across key roles: 4 students in automation courses and 2 instructors. Sessions were semi-structured (30–45 min) and captured goals, frustrations, and tool usage.
Heavy installs and mixed hardware blocked students from practice.
Theory-only tools failed to deliver practical skills.
Professors lacked visibility into student progress.
Need to support concurrent users with minimal IT overhead.
Looking at popular games that have similar assembly line style gameplay for PLC section of project.
A casual puzzle game featuring memory, logic, and assembly-line style cake building.
A multi-player cooking game where players manage kitchens and assemble dishes under time pressure.
A strategy game focused on designing and optimizin automated assembly lines and factories.
To better understand the needs of our primary stakeholders, I created user personas based on research and faculty interviews. These personas captured the goals, frustrations, and expectations of both students and professors using Virtual Rooms.
In developing the simulation, we used Three.js as the core framework for rendering and managing 3D objects in the browser. Each element in the environment—such as trees, players, or enemies—was modeled using an object-oriented style, treating every item as an independent entity with its own properties and behaviors. This modular approach made it easier to define interactions (for example, collisions or movement) while keeping the codebase flexible and scalable. By structuring the world this way, new objects could be added or updated without disrupting the overall system, mirroring the component architecture commonly used in modern game engines.
The assembly line table was designed as a modular component in Blender, allowing students to interact with objects in sequence—similar to real-world factory workflows. This process involved building, texturing, and exporting individual parts that could later be manipulated in the browser. The design mimicked real assembly tasks while keeping gameplay intuitive and accessible.
To create an immersive environment, I used Blender to model the overall 3D landscape, including terrain, lighting, and object placement. The focus was on balancing realism with performance so that the exported scene could run smoothly in Three.js. This step set the foundation for user navigation and interaction in the virtual lab space.
To make the virtual space feel closer to an in-person lab, I applied materials and color textures to the landscape. This included adjusting surfaces, shading, and colors to give the environment a realistic look while still being optimized for browser rendering.
Students interact with a simplified PLC (Programmable Logic Controller) simulation that mimics real-world automation tasks. The game mechanics guide students through activating switches, sequencing processes, and controlling basic inputs/outputs, helping them apply theory in a hands-on way. This mechanic reinforces core automation skills while making the experience engaging and intuitive.
To mirror real life, we designed a silhouette of the actual lab director and made him the in-game character who assigns you quests. He’s the one who gives players their PLC tasks to complete, adding both authenticity and a playful touch. This easter egg connected the simulation back to campus life, making the experience feel personal and fun while still guiding students through their work.
To keep the experience playful and memorable, a light-hearted “avoiding geese” mechanic was added. Students must navigate around obstacles like geese while completing their assembly-line tasks. This injects humor and unpredictability into the simulation, keeping engagement high while subtly reinforcing focus and multitasking skills.
Step-by-step guide showing how players interact with the PLC simulation
Quick reference to key PLC tags, serving as a built-in reminder for students.
Interactive style drag-and-drop gameplay to complete PLC ladder logic.
Through this project, we were able to deliver not only a functional MVP but also a meaningful impact—providing students with continued access to hands-on learning in a fully online setting, while giving faculty confidence in a scalable tool for the future.
This project taught me the importance of designing for multiple users each with different needs: students seeking usability and professors requiring scalability. I learned how to balance technical feasibility with UX accessibility, especially when working with complex 3D tools and limited resources.