I am a first year undergraduate student studying Engineering Science at the University of Toronto. With multiple software engineering internships and machine learning research experience, I am passionate to innovate about ML and its applications such as scientific machine learning, robotics, and biotechnology.

Outside of hackathons, design teams, and personal projects, I enjoy learning and trying random cool stuff and reading classic literature and philosophy.

Keep scrolling to view a list of my present and past projects.


Have a project idea in mind? Connect with my socials and I’m always open to new opportunities and collaborations.

Introductory RL

Assorted Collection on Deep Reinforcement Learning

Python PyTorch TensorFlow

Reinforcement learning (RL) is a way of training an agent to make sequences of decisions by finding the optimal action-taking policy through trial and error interactions with the environment. It is a powerful tool for solving complex problems in robotics, finance, and gaming. To broaden my knowledge in ML, I worked on a few small projects to learn fundamental deep RL algorithms such as (Double) DQN, REINFORCE, DDPG, and PPO. Please see this project if you are interested in NEAT and Pong instead.

[Read More]

Pong and NEAT

Neuroevolution beats human players

Python PyTorch

NEAT, or NeuroEvolution of Augmenting Topologies, is a genetic algorithm for evolving neural networks. Hayson and I used the neat-python library to train a neural network to play Pong as an optional course project to develop an AI that compete in Pong tournament. The agent maximizes the reward by learning to hit the ball back to the opponent.

NEAT
Pong game

Checkout Hayson’s amazing blog post where he explained the theory of how NEAT works!

[Read More]

Scholar Link

Find and Explore Relevant Research Papers (HTV9)

Flask Python Streamlit React

How can we make research more accessible, insightful, and engaging for researchers and students? Eddy, Chi, Jay, and I came up with an innovative web application that leverages cutting-edge AI to visualize connections between papers in a force-directed graph.

[Read More]

Pendulum Tracking

OpenCV for PHY180 Lab

Python OpenCV Matplotlib NumPy

Using OpenCV, I made my own script to track the motion of a pendulum in for my PHY180 (Mechanics) lab. The script detects the pendulum bob and track its motion in real-time for a directory of videos (samples taken) using cv2. The module supports:

  1. Generating plots for amplitude vs time, period vs time, period vs length, etc.

  2. Performing curve fitting using scipy with uncertainties and residuals.

  3. Calculating quantities such as period and Q-factor.

[Read More]

WeDream

Duolingo for Sleep

Swift Xcode Firebase Express

Sleep deprivation is a widespread issue, expected to worsen as distractions increase. Despite understanding sleep’s benefits, many find it challenging to maintain a healthy night routine. This is especially prominant for students who later face difficulties in focusing and retaining information.

Inspired by the engaging features of Duolingo, WeDream motivates users to stay committed to improving their sleep habits. We are dedicated to empowering individuals who actively seek to improve their daily lives and become the best versions of themselves.

[Read More]