Projects

SWAN - A program analysis framework for Swift
SWAN - A program analysis framework for Swift

SWAN is the first open source static program analysis framework for Swift meant to enable analysis such as CHA, call graphs, pointer analysis, taint analysis, etc. The translator is written in C++, hooks into the Swift compiler, translates the raw SIL to WALA CAst, and passes the translated IR up to the analysis engine built on top of WALA and written in Java. Currently, I am the main contributor to SWAN.

Swasar - Swift implementation for Phasar
Swasar - Swift implementation for Phasar

This project is an attempt at implementing taint analysis on pure Swift applications using the LLVM static program analysis framework, Phasar. LLVM IR generated from the Swift compiler is fed to a modified Phasar analysis to find the presence of taints in the Swift source code. The taint analysis was successful, but using an LLVM analysis framework is not ideal for analyzing Swift applications.

QuickTopo
QuickTopo

I currently lead a team of 3 other developers under the name Prairium. We are working on developing an independent commercial solution, QuickTopo, to address a bottleneck in the topological surveying process, especially in the area of agriculture. I have developed and used a prototype for this software when I was working as a surveyor for Greentree Engineering. We hope any surveyor needing to do a significant topological survey can utilize our tool to save time and money.

CloudCity - A city building game written for HackEd 2019
CloudCity - A city building game written for HackEd 2019

My team and I developed a simple city building game about population management using openFrameworks.

CAT - Cluedo Assistant Tool
CAT - Cluedo Assistant Tool

I made a simple desktop application using WPF to assist in keeping track of moves and cards in the game of Cluedo.

DoctorPlzSaveMe - a medical app developed for CMPUT 301 (Intro to Software Engineering)
DoctorPlzSaveMe - a medical app developed for CMPUT 301 (Intro to Software Engineering)

I took on the role of project lead and backend developer for this course project. We developed an app that allows users to track/record their medical issues and receive feedback from a care provider.

Starcraft 2 bot - a bot developed for CMPUT 350 (Advanced Game Programming)
Starcraft 2 bot - a bot developed for CMPUT 350 (Advanced Game Programming)

I helped develop a bot based on CommandCenter, and pitted it against other teams’ bots. I worked on siege tank and resource gathering AI.

Black Hole Visualizer
Black Hole Visualizer

I attempted to visualize a spinning black hole using openFrameworks for an ASTRO creative assignment. It was difficult to do, but the result is good enough to roughly represent how particles are affected by a black hole. This work was later presented at a teaching conference by one of the course coordinators.

Laser Tag Pistol
Laser Tag Pistol

I 3D-printed, built, and programmed a custom laser tag pistol. It uses a Teensy for a micro-controller, produces various sounds, has LED animations, and can receive/send unique IR signals (to be able to differentiate between teams, for instance).

Automatic deadbolt unlocker
Automatic deadbolt unlocker

I 3D printed, built, and programmed a remote-based automatic deadbolt opener for my dorm.

Control panel for flight sims
Control panel for flight sims

I started making a control panel for Elite Dangerous (space flight sim game), but never finished it. WIP, mostly abandoned.