I Am HongFei Huang

Software Engineer

View My Work Resume

Software Developer & Gamer

Portrait of HongFei Huang

About Me

My name is HongFei Huang. I'm a software engineer focused on XR and computer graphics, with a Master's in Computer Science from the University of Waterloo.

When I first tried Half-Life: Alyx, I was blown away by how impressive and wild its interactions were. Since then, I've been passionate about creating fun stuff in VR, and it got me into computer graphics. I believe VR and CG together will fundamentally change the entertainment industry one day.

Most recently I built OpenUSD tools in C++ and Python at SideFX. For my thesis, I made a mixed-reality app for Meta Quest 3 where you build and handle geometric algebra objects with your hands.

Download Resume
Where I Have Worked

Experience

Toronto, ON

3D Software Developer

SideFX · Internship

  • C++
  • Python
  • OpenUSD
  • Linux
  • Shipped a USD prim scanner that auto-patches missing material bindings at zero runtime overhead, raising material consistency across shots by 30%.
  • Built primitive coordinate conversion for 4×4 matrices, preserving local transforms via Xform Common API decomposition (pivot, rotation, shear); raised successful Maya–Houdini transform round-trips by 60%.
  • Reduced "Clean All Transforms" lookup complexity from O(N²) to O(N) in the transform panel.

Waterloo, ON

VR Software Engineer & Co-Lead

Waterloo Reality Labs · Part-time

  • Unity
  • C#
  • OpenXR
  • PyTorch
  • Developed an OpenXR-based Unity hand-tracking pipeline for collecting temporal gesture sequences and training dynamic gesture-recognition models.
  • Implemented a Conv2D model and adaptive preprocessing pipeline for Unity Barracuda, including automated CLI tests and ONNX export.

Kanata, ON

Software Engineer

Huawei · Internship

  • RTOS
  • C
  • Python
  • CI/CD
  • Built a user-space validation tool for RTOS priority boosting, enabling CI to catch priority-inversion regressions.
  • Automated OS metric analysis in Python (NumPy, Matplotlib), improving performance/power profiling by 60%.

Waterloo, ON

Software Developer

OpenText · Internship

  • OScript
  • Profiling
  • Linux
  • Profiled OScript data-processing workloads on Red Hat Linux to identify performance bottlenecks.

Waterloo, ON

Software Developer

OpenText · Internship

  • C++
  • Language Server
  • Linux
  • Prototyped a C++ language server on Red Hat Linux for compiler-aware editor tooling.

Education

Waterloo, ON

Master of Mathematics in Computer Science

University of Waterloo · Co-op

Thesis: VR_GAViewer: Immersive Visualisation and Direct Manipulation of the Conformal Model in Virtual Reality

Waterloo, ON

Bachelor of Applied Science in Computer Engineering

University of Waterloo · Co-op

Portfolio

Work I Have Done

VR Geometric Algebra Viewer

Master's thesis project · Sep 2024 – Jul 2026

  • C#
  • Unity
  • Meta Quest 3
  • ANTLR

A mixed-reality app for Meta Quest 3 that lets you build conformal geometric algebra objects with your hands or a typed console, then walk around them. It is meant as a teaching tool for people learning geometric algebra.

Source on GitHub
  • Hand-tracked geometry construction with previews of rotations, translations, and screw motions.
  • An ANTLR expression interpreter with snapshot and live assignments, sharing object creation between console input and hand-driven construction.
  • Reduced average frame time by 60% in static scenes with 20 live bindings on Meta Quest 3 by skipping geometry recomputation when inputs remained unchanged.

Real-Time Rigid Body Fracture Simulation

Mar 2023 – Apr 2023

  • C++
  • OpenGL
  • Computer Graphics

An interactive OpenGL fracture simulation using pre-fractured 3D models. A Surface Area Heuristic Bounding Volume Hierarchy (SAH-BVH) handles Ray-AABB and AABB-AABB collision detection and sustains 170+ FPS with complex inputs.

Source on GitHub
A ray-traced glass sphere casting a shadow on a checkered floor

Ray-Tracing Engine

Written from scratch

  • C++
  • Ray Tracing
  • Computer Graphics

A custom ray tracer in C++ that renders triangle-mesh 3D scenes with three materials (Lambertian, metal, glass), using recursive ray tracing for reflections and refractions.

More Projects

Receipt Reimbursement Agent Harness

Sep 2026 – Present

  • Python
  • Claude Code
  • Vision LLMs
  • OCR

An LLM agent harness that turns receipt photos into a filled reimbursement form and a Gmail draft. A vision LLM and local OCR read each photo, conflicts go to a Claude Code judge, and deterministic amount and date checks catch errors both models make.

DrinkMaster Automated Drink Dispenser

May 2023 – Mar 2024

  • C++
  • ESP32
  • Arduino
  • UART

ESP32 firmware for a 5-person engineering capstone: stepper-driven rail positioning, five solenoid valves, and an ultrasonic safety interlock that pauses the rail when a hand reaches in. Poured 30–40 drinks at the final showcase.

Fully Pipelined RISC-V CPU

Xilinx dev board

  • Verilog
  • Embedded Design
  • CPU Pipelining

A 4-stage pipelined RISC-V CPU in Verilog with adjustable instruction and data memory. It runs basic programs such as bubble sort on the board.

Real-Time Operating System

Keil board (ARM)

  • C
  • RTOS
  • Task Scheduling

A small OS with binary-tree memory allocation, an earliest-deadline-first (EDF) scheduler, context switching between tasks, and interrupt-driven user input over UART.

Asynchronous PNG Concatenation Tool

Linux

  • C
  • Concurrency
  • File I/O
  • cURL

Fetches image pieces from servers with the cURL API and joins them using multiple threads, which cut the running time by 35%.

What I am Expert In

My Skills

Virtual Reality

Passionate about VR and mixed reality. Built hand-tracked apps on Meta Quest 3 with OpenXR, including VR GAViewer and a gesture-recognition pipeline.

Unity Development

Skilled in Unity and C#, especially for XR. Shipped my thesis app on Meta Quest 3 and prepared ML models for Unity Barracuda.

Computer Graphics

Rasterization, ray tracing and physics-based animation with OpenGL, plus OpenUSD scene tooling from my time at SideFX.

C++ Programming

My main language, from graphics projects to production tools. Committed to quality and performance. Also comfortable in C#, C and Python.

System Programming

Embedded and kernel-level work in C on Linux and RTOS: test tooling at Huawei, a pipelined RISC-V CPU and a kernel task scheduler.

Machine Learning

PyTorch and ONNX for training and exporting models, and LLM agent workflows built with Claude Code and vision models.

Get In Touch

Contact

I'm open to full-time software engineering roles. The fastest way to reach me is LinkedIn, and my email is on my resume.

LinkedIn GitHub Resume