About

[Projects]

Resume

Personal Projects

Click a project's logo to view its GitHub repository.

homebridge-dyson-bp01 Logo

homebridge-dyson-bp01

This Homebridge plugin, which is written in TypeScript, adds a Dyson BP01 to HomeKit using a BroadLink RM.

TroutToss Logo

TroutToss

TroutToss is a Spigot Minecraft Java plugin that allows players to throw raw salmon (trout) to knock back other players.

MatrixDisplay Logo

MatrixDisplay

MatrixDisplay is a Python program used to display images on the Pimoroni Unicorn HAT for Raspberry Pi through a web interface.

Website Logo

Website

This website is used as my personal website and portfolio It was created with vanilla HTML, CSS, and JavaScript

BoneBot Logo

BoneBot

BoneBot is a self-hosted, modular Discord bot written in Kotlin that can respond and react to messages, as well as add built-in and custom commands to a server.

HardcoreLists Logo

HardcoreLists

HardcoreLists is a Spigot Minecraft Java plugin that provides a PvP timer for new players, as well as a list of dead and alive players.

VolleyBall Logo

VolleyBall

VolleyBall is a Spigot Minecraft Java plugin that adds a simple volleyball minigame with support for multiple courts.

CourierNew Logo

CourierNew

CourierNew is a Spigot Minecraft Java plugin that allows users to send letters in the form of books and receive them through couriers.

School Projects

Due to university policies, the source codes for these projects are not public; however, some projects do have linked sites or videos.

CprE
558

Car Collision Avoidance RMS Scheduler

An Arduino testbench to mock-up a car collision avoidance system, with the individual system functions scheduled via an RMS scheduler to allow for parallel-esque operation.

CprE
424

Distributed Image Processing

A Python program that uses OpenMPI to perform image processing across multiple CPUs to speed up processing time.

ComS
574

Breast Cancer Linear Classification

The UCI Wisconsin breast cancer dataset was fed through machine learning algorithms, written in Python, to classify samples and tune hyperparameters.

CprE
530

ARP Cache Poisoning Tool

This Python program was created alongside a lab activity its used in. The program would sniff ARP packets on the network and spoof ARP replies.

CprE
491/492

Self-Aligning Wireless Charger

A wireless charger that uses a 2D rail system to align itself with the device on it. The embedded software was written in Arduino and C++.

CprE
480

Simple Graphics Processor

This project includes a simplified GPU written in VHDL using Vivado for a FPGA, with a driver and OpenGL test applications written in C.

CprE
381

MIPS Processor

This project includes a MIPS CPU and test-benches written in VHDL, with test programs written in MIPS assembly.

ComS
309

Chirrup

Chirrup is a simple, Twitter-esque app written in Java with an Android frontend paired with a Spring Boot backend. Agile methods were stressed heavily during this project.

CprE
288

CyBot

The CyBot is a university-provided, modified iRobot Roomba with a microcontroller and various sensors. Embedded software was written in C to make the CyBot navigate semi-autonomously.

CprE
186

CannonPong

CannonPong is a 2D sprite game written in Java, similar to cup pong, where the controls involve adjusting the cannonball's launch speed and direction.