Collection of work, portfolio,
tutorials, and experiments.

Hi, 🖐😁
Thank you for visiting my portfolio.
Please explore the collection of things I've worked on, designed, or created.

Click on the cards below 👇

Kinsol - Software Developer (Contracted)

June 2023 - Current

Bark Trading - Software Developer (Contracted)

March 2021 - May 2023

Lead Buddy Technologies Ltd - Co-Founder - Software Developer

April 2023 - Current

Volt Carbon Technologies - Website Consultant (Contracted)

September 2020 - Current, Remote

Computer Science (Major) w/ Co-op, UVic

Fall 2017 - April 2023

Kart Corsa

Kart racing video game currectly in development

Track Star

Kart Racing Series Points Calculator currectly used by Vancouver Island Karting Association

Simple Drum Machine

UVic project built using React and Tone.js

Boids

An implementation of Boids using Three.js

Freelance Website Development

September 2020 - Current

Experiments: Animimation + Machine Learning

Unity, ML Agents, PPO

Superconductor

A stylish rhythm game at the subatomic level, created for Ludum Dare 47.

EA: NHL 2020

Associate Software Engineer (Co-op), Sep 2018 - Apr 2019

Artificial Intelligence for Histopathology

BC Cancer Research (Co-op), May 2019 - Feb 2020

Kart Racing

Member and volunteer of Vancouver Island Karting Association

LO206 Kart Acceleration Calculator

Calculator to determine how engine gearing, setup, weight, and initial speed effect the time required to travel straight line distance.

UVic Game Dev Club (UVGDC)

Member since 2020

BattleSnake 2018 Programming Competition

Won Second Place, Intermediate Division

Highschool Project: Neural Network + Genetic Algorithm Car AI

Unity, Neural Networks, Genetic Algorithms

Kart Racing

I am a proud member of the Vancouver Island Karting Association, where I have been volunteering my time and skills to help with the association's website, race day registration, and series points calculations. In 2022, I achieved great success in karting by winning both the Winter and Summer Senior Briggs Championships. Additionally, I placed third in the inaugural BC Regional Karting Series in the Senior Briggs category. For the upcoming 2023 season, I have decided to start racing 2-stroke karts and am excited to continue pursuing my passion for karting.

UVic Game Dev Club

From 2020 to 2021, I dedicated a significant amount of my time to the UVic Game Dev Club, where I was the 2nd vice president and played an active role in running the club. Along with other members of the club, I participated in several game jams, which were exciting opportunities to work collaboratively and create new games in a short amount of time. Being a part of the UVic Game Dev Club allowed me to connect with other students who share my passion for game development and expand my skills in this area.

View the 2021 demo video

BattleSnake Programming Competition

In 2018, I participated in BattleSnake, a programming competition that took place in Victoria. I wrote an artificial intelligence using Python to compete in the competition, which featured over 50 participants in the Intermediate division. Thanks to my hard work and dedication, my AI was able to secure an impressive second-place finish in the competition, which was a significant achievement for me. Taking part in BattleSnake allowed me to showcase my programming skills and learn from other talented individuals in the field.

Github Code
2018 Competition Stream

Artificial Intelligence for Histopathology Co-op

During my time at BC Cancer Research, I created a customized machine learning pipeline for digital pathology using Python, Tensorflow, and Pytorch. I executed the pipeline on a Nvidia DGX machine and contributed to several academic papers. Additionally, I played a key role in the hiring process for future Co-op students, reviewing resumes, conducting interviews, and providing input for final hiring decisions.

Papers:
Synthesis of diagnostic quality cancer pathology images by generative adversarial networks
Classification of Epithelial Ovarian Carcinoma Whole-Slide Pathology Images Using Deep Transfer Learning

AIM Lab @ UBC

Associate Software Engineer Co-op - NHL HUT

As a full stack developer at Electronic Arts, I worked on the NHL 19 and NHL 20 video games. My responsibilities included creating user interfaces, developing server backend features, and building new, specific internal tools for the Hockey Ultimate Team game mode.

Freelance Website Development

As a freelance web developer, I provide services to local restaurants and small businesses, creating and modifying websites based on the specific needs of each client.

Volt Carbon Technologies - Website Consultant (Contracted)

At Volt Carbon Technologies, I collaborate with top-level management to ensure the accuracy and relevance of their website, social media accounts, and newsletters. I am responsible for setting up their websites and making necessary updates and changes to ensure that the content is current and aligned with the company's goals and objectives.

Kinsol - Software Developer (Contracted)

At Kinsol, I work as a software developer, providing consultancy services to our clients. My responsibilities include designing and developing software systems using Python, Docker, Platform, JavaScript, React.js, and Node.js. I frequently showcase my work, contribute to code repositories, review code, and collaborate with colleagues to facilitate software system development.
View Kinsol's Website

Bark Trading - Software Developer (Contracted)

I was part of a small and highly motivated startup team tasked with developing a lumber trading app from the ground up. Working directly with the founder, UI designer, and other key stakeholders, I played a crucial role in planning and creating the app's core features from the initial stages until its launch. As the first developer to join the project, I had been heavily involved in selecting the appropriate tech stack and software architecture.
View Bark Trading's Website

Lead Buddy Technologies Ltd - Co-Founder - Software Developer

In the spring of 2023, we established Lead Buddy, a cutting-edge tool tailored to real estate professionals, aimed at streamlining the process of generating potential homebuyer leads. As the driving force behind this project, I played a pivotal role in both the software design and development, ultimately bringing the Lead Buddy product to life. Prior to our official incorporation, we dedicated three years to refining and testing the product's capabilities.

Lead Buddy has been developed using React.js and leverages the power of Google Firebase to provide realtors with a comprehensive solution for automating lead generation workflows in the real estate industry.
View Lead Buddy

Kart Corsa

As the developer behind Kart Corsa, I am currently working on creating a kart racing game that captures the true essence of grassroots motorsport. I noticed a lack of accessible racing games that could appeal to all audiences while still delivering a realistic racing experience. Kart Corsa is currently in active development and is not yet released, but our aim is to bridge this gap by offering a low barrier of entry for players of all skill levels, while also integrating genuine racecraft and physics. We are focused on creating a stylized simcade game that will immerse players in the world of kart racing like never before.

University of Victoria

I have dedicated myself to honing my skills as a software developer and computer scientist. I pursued a degree in Computer Science at the University of Victoria, which I successfully completed in April 2023. Throughout my time in this program, I have completed a variety of courses in the field, listed below in chronological order.

Courses

Course ID Course Name
CSC 106 Practice of Computer Science
CSC 110 Fundamental Programing:I
ED-D 101 Strat: University Success
ENGL 135 Academic Reading+Writing
MATH 100 Calculus:I
CSC 115 Fundamental Programing:II
CSC 130 World Wide Web+Mobile Apps
MATH 101 Calculus:II
MATH 122 Logic and Foundations
STAT 123 Data Science
CSC 225 Algorithms+Data Stuct:I
MATH 211 Matrix Algebra: I
SENG 265 Software Develop Methods
CSC 226 Algorithms+Data Structure II
CSC 230 Computer Architecture
STAT 260 Intro Probability+Stat:I
CSC 360 Operating Systems
CSC 370 Database Systems
MATH 222 Discrete+Combinator Math
COM 220 Organizational Behaviour
COM 250 Fundamentals of Marketing
CSC 305 Intro Computer Graphics
CSC 361 Computer Communctions+Netwrks
COM 202 Financial Accounting I
COM 240 Management Finance
CSC 320 Foundations:Computer Science
CSC 375 Intro Systems Analysis
CSC 473 Fundamentls:Computer Animation
COM 317 Management Accounting I
CSC 466 Overlay+Peer-To-Peer Netwrking
CSC 475 Music Retrieval Techniques
MATH 202 Intermed Calc:CSC & EOS
CSC 445 Ops Resrch:Linear Program
CSC 421 Intro Artificial Intellig
ENGR 240 Technical Writing
SENG 310 Human Computer Interact'n
SENG 474 Data Mining
CSC 446 Simulations in Op Research
CSC 484D Topic:Scientific Computng: Synthesizer Programming
CSC 485E Topics in Systems: Designing Creativity Support Tools

Boids

I built this project using Three.js, a JavaScript library, and based my boids on V. Hunter Adams' implementation. It was my first time using Three.js, and I was impressed by how easy and intuitive it was to use. I'm definitely planning on using it for future projects.

In case you're not familiar, boids are a type of artificial life program that simulate the behavior of flocks of birds or schools of fish. They're made up of simple rules, like alignment with nearby boids, avoidance of collisions, and attraction to the center of mass of nearby boids, that create the illusion of coordinated group movement.

View Project
View Project Github

Get In Touch