Bonsense

Listen to your leaves

As the final design project of my Praxis II course, I worked with the Toronto Bonsai Society to develop Bonsense, an iOS application that helps bonsai beginners monitor the moisture levels of their plants using computer vision and IoT sensor. We hope that this can make the art of bonsai more accessible to everyone.

[Read More]

Trainify

Watch your AI agent come to live!

GCP Docker Kubernetes Firebase Python PyTorch

Generate 3D environments from real world images and train reinforcement learning agents in the cloud with Trainify. Our platform, built on GCP, powered by agentic LLM, and natively integrated with core RL toolkits, simplifies the process of creating and training AI agents in 3D environments.

[Read More]

NeuroSteady

Wearable tech for hand tremor stabalization in neurosurgery

Arduino IDE C++ PyTorch NumPy Python

In the 24-hour BMEC hackathon, we used few-shot transfer learning with CNN-LSTM to detect slight hand tremors of neurosurgeons during surgery, ensembled with a simple majority voting system with a sliding window time-frequency analysis. This triggers an intervention using a wearable device consistent of servo actuators to stabalize the hand of the surgeon during operation.

[Read More]

MemoryMake

Turn single 2D photos into immersive, navigable 3D worlds

FastAPI React PyTorch TensorFlow

As memories pile up in our camera rolls or remain abstract ideas, we wanted to create a way to truly experience them. MemoryMake was born from the idea of transforming ordinary photos and text prompts into dynamic, navigable, and visually engaging 3D environments—so users can explore their cherished moments instead of merely scrolling past them.

Paul, Nelson, and I built Memory Make by taking the unconventional route, stepping away from common hackathon LLM apps and focusing on cutting edge computer vision research. We won the best social hacks at Queen’s University’s QHacks 2025.

[Read More]

Eidos

Building a C++ Deep Learning Library from Scratch

Eidos is a project for educational purpose to build a simple deep learning library from scratch in C++. Inspired by libtorch, PyTorch’s C++ frontend, we implemented MLP, CNN, RNN using only Eigen for parallelized linear algebra. James Zheng and I started this project during my final exam month in 2024 and got me grinding it for a month alongside 6 major course finals. Install and try Eidos:

git clone https://github.com/supreme-gg-gg/Eidos
mkdir build && cd build
cmake .. && make
sudo make install
[Read More]

MapMatch

Finding roommates with NLP powered by AWS

AWS PostgreSQL TypeScript Supabase Express

What if looking for a roommate was as easy as a google search – only but more accurate? Our answer is MapMatch. Inspired by retrieval augmented generation (RAG), we integrated semantic search, mind-map navigation, with AWS cloud technologies to match roommates based on their preferences and personalities.

AWS Technolgoy we used

Primitive frontend

[Read More]

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]

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]