Experience


Moving AI Lab @ UAlberta | Graduate Research Assistant 2025 - Present

Supervised by Professor Nathan Sturtevant.

  • Built an AlphaZero implementation from scratch in JAX/Flax, with parallelized self-play that sped up training by 2x on a compute cluster

  • Analyzing AlphaZero training dynamics on solved Chinese Checkers, using game-theoretic ground truth to diagnose training anomalies and evaluate model accuracy

University of Alberta | Graduate Teaching Assistant 2024 - 2025

CMPUT 272 – Formal Systems and Logic in Computing Science (Fall 2024); INT-D 161 – Artificial Intelligence Everywhere (Winter 2025, Fall 2025).

  • Self-taught formal logic and proof material each week to a sufficient level to present solutions and field student questions live for a class section of ~100 students

  • Marked quizzes, exams, and mini-essays; held office hours; and supported students through course forums and email

  • Authored weekly quiz and final exam questions through multiple rounds of instructor feedback, developing an eye for questions that test conceptual understanding over memorization, calibrated for a non-specialist audience

  • Built a Python script using the Canvas REST API to bulk-collect peer review scores that Canvas provided no native export for, navigating several interconnected API objects to reconstruct per-student data

  • Designed a Python + Google Sheets pipeline to automate peer review grading: the script pulled raw scores via API, the sheet computed weighted averages, flagged anomalies, and generated a CSV for bulk Canvas grade upload

Natural Language Laboratory @ SFU | Research Assistant 2023 - 2024

The Natlang Lab works on NLP research.

Redmane Technology LLC | Software Developer 2021 - 2023
  • Delivered case management software to clients by coordinating with the product team, operations team, and the clients

  • Collaboration in agile development teams done using software such as JIRA, Teams, and GitHub

  • Built Redmane Canada's first live interface using the Azure ecosystem and REST APIs, saving the client thousands of hours per year of manual data transfer between our system and theirs

  • Used C#, .NET, and related libraries to implement client requirements for their software solution

  • Used Transact-SQL scripts and queries into the database to automate development work, investigate issues, and solve identified problems

  • Led design sessions with clients to determine their organizational needs and how we can solve them

  • Trained clients to use our software, ensuring a smooth transition for their organization to our solution

  • Performed maintenance on production systems through regular monitoring

The Boathouse | Dishwasher 2017
  • Coordinated duties within a team in a fast-paced and quickly changing environment for long (sometimes 9+ hour) shifts

  • Handled rapidly growing dish piles while prioritizing tasks based on height of pile, line cooks' needs, and workplace maintenance

The Ridge Studios | Grip Technician Assistant 2015 - 2016
  • Hauled and organized flats

  • Assisted in setting up the lighting for the studio and the construction of the set

Education


University of Alberta | Candidate, MSc Computing Science 2024 - Expected 2026

Enrolled in the Master of Science (Thesis) in Computing Science program

  • Procedural Content Generation via ML: Studied generative methods for game content including Markov chains, CNNs, VAEs, GANs, diffusion models, and reinforcement learning-based generation

  • Reinforcement Learning: Studied MDPs, policy iteration, Monte Carlo methods, temporal-difference learning (SARSA, Q-learning), function approximation, and deep RL

  • Experimental Mobile Robotics: Studied differential drive kinematics, computer vision, sensor fusion, path planning, and localization using ROS and OpenCV

  • Neurosymbolic Programming: Studied program synthesis methods including top-down and bottom-up search, neural-guided search, stochastic methods, latent space learning, and transformer-based synthesis

Simon Fraser University | BSc Computing Science, 2021 2018 - 2021

Bachelor of Science (with Distinction), Major in Computing Science, 3.73 GPA

  • Awarded President's and Dean's Honour Roll and scholarships for excellence in grades

  • Created complex SQL queries, utilizing knowledge of relational algebra and calculus

  • Parallel Programming: Worked with multi-threaded applications, race conditions, critical sections, mutual exclusion locks, and semaphores

  • Learned programming paradigms - functional, concurrent, and distributed - with Haskell, Go, and Erlang

  • Used TensorFlow and MATLAB to build Convolutional Neural Networks and traditional edge+point detection systems

  • Wrote a Quantum Program Simulator to run any quantum program (sequence of gates) the user writes

  • Studied various NLP techniques, such as RNNs, LSTM, ELMo Embeddings, BERT, Word2vec, etc

  • Hand wrote machine learning algorithms such as entropy-minimizing random forests, k-modes clustering, and LOF anomaly detection

  • Learned CPU architecture, wrote in Assembly, and developed various OS components such as memory management

  • Studied internet protocols from each layer (eg: DNS, TCP, CSMA/CD, etc) and other networking topics such as Data Centers and VoIP

Projects


Robotics w/ the Duckiebot Platform 2025

Learned about robotics and computer vision using the Duckiebot platform. This was for CMPUT 503 at the University of Alberta. I wrote a summary of my experience with the course.

  • Worked with ROS/rospy - nodes, topics, services, messages, and rosbags.

  • Performed localization using odometry with the robot's wheel encoders.

  • Collected the generated odometry data; used it to visualize the robot's path.

  • Used OpenCV for computer vision - color detection, apriltag detection, and lane detection.

  • Implemented PID controllers to perform lane following.

  • Bonus: Built a PyBullet Simulation to compare PID and MPC controllers balancing balls on a plate. Report.

"Ray Tracing in One Weekend" in One Engine | Realtime C++ Vulkan Ray Tracing Engine 2021

Based on the "Ray Tracing in One Weekend" series. Video.

  • Developed in C++ using the graphics library Vulkan

  • Implemented Ray Tracing principles in a compute shader, which then renders the final image directly onto the swapchain's images

  • Utilized GPU-accelerated computation to calculate each pixel's data in parallel

Bitcoin Lite | Blockchain Protocol & Simulator 2020

A blockchain networking protocol based on Bitcoin's original whitepaper with networking, proof of work, longest chain, and mining functions. GitHub.

  • Learned about blockchains by developing a blockchain networking protocol based on Bitcoin's original whitepaper

  • Major features include networking capability, proof of work, longest chain, and mining functions

  • Utilized multiprocessing and concurrency to develop a simulated socket interface, allowing one machine to simulate multiple nodes over the internet

  • Used TCP sockets at the application layer to allow a single machine to act as a node for this program on the internet

Hotel Analysis | Data Science and Machine Learning 2020

GitHub.

  • Extracted relevant information from big data (OpenStreetMap dataset) using Spark and Hadoop on SFU's compute cluster

  • Feature engineering with Pandas and Numpy, training and optimization with scitkit-learn (Random Forest, Pipelines, and Grid Search), visualization with Plotly

  • Trained a model that can explain 35% of a hotel's score knowing only its location

Asteroid Eater | 2D Video Game 2020

The player controls a spaceship and eats asteroids to grow. Asteroids are eaten by slicing parts off. Video.

  • Written in Lua using the LOVE2D framework and Box2D for the physics engine

  • Created procedurally generated asteroids and asteroid fields using Perlin noise

  • Wrote a line-of-sight algorithm so the player can't see behind asteroids

tree-chan | Social Media Website 2019

A social media website organized according to the "tree" data structure. Live demo. Video.

  • Became a full-stack web developer - learned node.js/PostgreSQL for the server-side framework, and javascript/HTML/CSS for the client-side

  • Deployed with cloud services such as Amazon's AWS (S3 for image hosting; SES for confirmation emails), and Heroku (Platform for node.js app hosting; Postgres for database hosting)

  • Designed the database's structure for the website and created a Entity-Relationship Diagram to visualize it

itemRanker | Android Application 2019

App where users rank items and create tier lists. Features a Versus Mode where users sort items with comparisons. Google Play Store page. Screenshot.

  • Developed in the Android Studio environment and released to the Google Play Store

  • Designed the application using Java for the model and controller, XML for the view, and SQLite for the item database