Hi, I'm in the final year of my MSc in Computer Science at UBC, where I work with Professor Michiel van de Panne on physics-based character animation and robotics. My research focus is on planning and control for the skilled movement of physics-based humanoid characters, building on deep reinforcement learning methods. I'm also broadly interested in embodied AI and computer graphics. My ultimate goal is to create universal intelligent agents that can replace humans for dangerous tasks (or agents which surpass human capabilities😈). Previously during my undergrad, I worked with Professor Dinesh K. Pai on motion capture topics.
Prior to the above, I worked in the industry as a software engineer, where I developed and maintained Web Apps with JavaScript and Python. During my leisure time, I'm active in a variety of sports and play competitive FPS games such as Valorant, CS:GO and Apex Legends. Fun fact: I'm an Immortal (NA top 0.5%) player in Valorant.
Update: I'll be graduating in May 2026 and am actively looking for full-time opportunities related to robotics, character animation, embodied AI, or software engineering. If you are interested in my profile, please feel free to contact me via email.
More about me down below! 😄
News
Nov 2025
Mini-Pi-Plus with MimicKit
I created a demo of Mini-Pi-Plus using Xue Bin's new codebase MimicKit. Check out the link for more details! Mini-Pi-Plus on the right.

Education
University of British Columbia
Master of Science in Computer Science
Advisor: Prof. Michiel van de Panne
University of British Columbia
Bachelor of Science in Computer Science and Mathematics
Advisor: Prof. Dinesh K. Pai
Publications

SIGGRAPH Asia 2024
Measuring Human Motion Under Clothing
Luis Bolanos, Pearson Wyder-Hodge, Xindong Lin, Dinesh K Pai
This paper proposes and evaluates a system, EMob, for estimating body motion under clothing using a combination of very small electromagnetic sensors attached directly to the skin and traditional optical sensors on the clothing.
Projects

Learning to plan in bouldering (Ongoing)
This project trys to learn a high-level planner that accounts for both the capability of the low-level controller and the hand hold pattern to solve hard bouldering problems. The picture is a toy example on a donut wall. More updates incoming!

GPU-accelerated Humanoid Stepping
This project reimplements the ALLSTEPS paper in IsaacLab. It analyzes the performance of ALLSTEPS on different simulations and optimizes the reward function to improve the performance of the humanoid robot in simulation. More updates are coming soon.



Local smoothness layer for implicit coordinate learning
This project aims to reconstruct 1D/2D/3D signals using neural networks, with an adaptive focus (LS-Layer) on different levels of detail in different regions.
Experience
Teaching Assistant — UBC
Course: CPSC 314 Computer Graphics, CPSC 426 Computer Animation
7 times TA in CPSC314 and once in CPSC426.
Software Developer Intern — SAP
Maintained and developed new features for a web application (SAP Partner Finder) that searches SAP partners and products.
Software Developer Intern — Global IQX
Developed and maintained a quoting app and its templates for client insurance companies.
Software Test Developer Intern — Sierra Wireless
Wrote tests and quality assurance scripts for embedded software in IoT devices.
