About Me

Since I was young I've always loved solving puzzles.

I am in my final term at Fanshawe's Computer Programming and Analysis program. I have a perfect 4.20 GPA, and I participate in community involvement such as peer mentoring and winning 1st place in Fanshawe's 2024 Hackathon.

I have 2.5 years of professional experience as a software developer, at CARFAX and LBMX. I worked during my co-ops and part-time during school.

I have a Master's Degree and Bachelor's in Biochemistry from Western University. I worked for 6 years as a QA Manager in the cannabis industry. During those years, I kept becoming obsessed with all software-related tasks. I craved understanding the systems at a deeper level and that lead me to make a career switch to software development.

In my free time I like to paint, run, play volleyball, play video games and code.

My tech stack

Languages:

C# TYPESCRIPT JAVASCRIPT JAVA C++ PYTHON SQL

Back-end:

.NET SPRING BOOT FLASK

Databases:

SQL SERVER POSTGRES MYSQL

Front-end:

REACT ANGULAR VUE

DevOps:

AWS AZURE DOCKER KUBERNETES GITLAB PIPELINES GITHUB ACTIONS

Operating Systems:

WINDOWS LINUX MACOS

Projects

Wordle!

Tools/Languages

C#, Blazor, .NET, gRPC

Summary

A Wordle clone utilizing multi-service gRPC architecture, where the game service was set up as both a client and a server, a client that requested the word-of-the-day from the word service, and a server to the user client that managed game state and streamed a response for every guess that the user submits. This was a group project with 2 other peers. I decided to challenge myself to learn Blazor for this project. We worked together really well and had a lot of fun with it.

Learning outcomes:

  1. Blazor
  2. .NET
  3. gRPC
  4. Collaborating with other contributors

Commit - A Dating App

Tools/Languages

React, C# .NET, SQL Server

Summary

This was my term 5 group project with 4 other classmates. The app is a dating app for IT professionals. We worked amazingly well as a team and I am proud to say I took on a leadership role and helped organize and unblock everyone. The project went smoothly, we were done all the requirements early and we were able to add extra functionality like a real research-based matching algorithm and payment integration with Stripe. We got a grade of 100% in the course.

Learning outcomes:

  1. Software team leadership
  2. Agile methodology
  3. C# .NET and React
  4. Stripe integration
  5. Matching algorithms

Euchre - React TS

Tools/Languages

React, Redux, TypeScript, Vite, Gitlab Pipelines

Summary

This project is hosted here

Euchre is my favourite card game to play with friends and family. I decided to port the Euchre game that I wrote in C++ to a web version to practice web development. I also set up a CI/CD pipline using Gitlab Pipelines connected to my server.

Learning outcomes:

  1. React and Typescript
  2. CI/CD, Gitlab Pipelines
  3. Managing state, CQRS pattern using Redux
  4. Collaborating with other contributors
  5. Writing algorithms for computer player decisions
  6. Encapsulating game logic to allow for future integration of similar card games

Euchre - C++

Tools/Languages

C++, Visual Studio

Summary

This is the first version of Euchre I made, an in-console game that I wrote in C++. I wanted to practice applying concepts learned in class by simulating a deck of card games and its common operations, and it quickly evolved into building out the full game.

Learning outcomes:

  1. Procedural programming
  2. Writing algorithms for computer player decisions
  3. Organizing project into generic, player, computer and rendering functions

Affiliate Link Website

Tools/Languages

Flask, Python, SQL, HTML, CSS, Jinja

Summary

A commissioned full-stack app I made to serve as a hub for the client's Amazon affiliate links.

Learning outcomes:

  1. Implementing CRUD functionality and a back-end SQL database
  2. Flask, Python
  3. Using HTML templates to achieve consistency and eliminate redundancy in page layouts
  4. Creating routes with different functionality, admin and general access

Stock Portfolio Manager

Tools/Languages

Flask, Python, HTML, CSS, Visual Studio Code

Summary

My first full-stack app project as part of Harvard's CS50 programming course. This is a mock trading app that allows a user to create an account, lookup real-time stock prices using Yahoo's API, and spend their cash to purchase and sell stock shares at their current prices. The user can view their current holdings and their transaction history using an intuitive simple-to-use interface.

Learning outcomes

  1. Flask, Python, HTML templates, full-stack programming
  2. Implemeting user accounts, signup/login and authorization
  3. Using an external API and parsing its data
  4. Interfacting with a back-end SQL database
  5. Graceful error handling e.g. invalid login, invalid stock lookup
  6. User input validation

Contact Me