Software Engineer In California


GitHub is a repository hosting service. I use it to store and manage opensource programming projects.
Docker is a container platform that stores images in a similar format to GitHub.

open-source projects


Go, C++, Typescript, Vue, and Python
UDAP (Universal Device Aggregation Platform) provides a unified interface for aggregating various disjoint components. Udap can control many unique devices and services with modules, furthermore modules can be made to control the aforementioned devices. A few examples of UDAP's capabilities include: Music control, lighting control, speech recognition (vosk) and synthesis (mimic), facial recognition (Dlib), sensor data aggregation (motion detection, air quality, temperature, humidity, etc.), security camera monitoring, and more.


Firmware for a ceiling-mounted automated laser pointer I made to entertain my cat with. The system is entirely controlled through UDAP.


Firmware for controlling a haptic engine through sockets over a Wi-Fi connection. The haptic engine mounts on the back of an endpoint touchscreen and provided haptic feedback when a user moves sliders or presses buttons.


Firmware for a multi-sensor motion sensor that interfaces with UDAP. The sensor makes requests to UDAP when a sensor is triggered.

Go, Vue, Typescript
Netwatcher is a network monitoring and mapping tool used by ISPs & MSPs to ensure network quality for IP communication. The program aggregates data from multiple agents and the controller analyses and displays the data on a webpage.


Go, SDL, OpenGL
Monoverse is a universe physics simulation engine. Monoverse can simulate conways game of life (on a grid or a hexagonal tesselation), it can simulate gravity, charge, and a some atom configurations.


Java, Spigot, MongoDB
A Spigot plugin that adds multidimensional teleportation via portals based on the Stargate franchise.


Java, Spigot, Mongo
enclave is a land claiming system designed for SMP Minecraft servers.

university projects


C++, SDL, OpenGL, OpenMP
The objective of this project was to create and demonstrate an n-bodies simulator that used parallel computing. This project is an SDL desktop application written in C++. After finishing this project, I rebuilt it in Golang and implemented more esoteric features, see monoverse.


Typescript, MongoDB, GraphQL, Passport
An automated programming assignment grading system. This module handles the business logic of the turnin system. See 'client' and 'compute' modules for more.


Go, Gin, Git, SeaweedFS, AWS
This module handles compilation, grading, plagiarism checking, and other computationally intense operations. This module is part of the Turnin modules system.


Typescript, Vue, Apollo, GraphQL, Vue
This is the Vue client used to interact with the Turnin system. This client interacts with the 'nexus' and 'file' modules via GraphQL & Rest respectively.


Go, Typescript, Python
Wildlife is a web app that allows users to upload an image and get analytic data about possible irritants on a plant or other piece of nature.


personal projects

Almost always open source
I believe it is important for developers to make their personal projects opensource. Having an ever expanding public repository of your work forces you to keep your projects clean and secure.


colors Atom One Dark
The color scheme for this website is loosely adapted from the open source color scheme atom-one-dark, bundled with the Atom editor.