$ ls


$ cat projects.txt



github link

A 3D falling sand game, written in OpenGL for a computer graphics class final project. Uses OpenGL compute shaders to compute particle positions each frame, instanced rendering for cubes, stencil testing, and an immediate-mode GUI rendered using Dear ImGui.


github link

A quick experiment in OpenGL / CUDA interop, using the boids steering model as a focus. Boids are drawn as single points and rendered from device memory. A buffer for boid objects is created with OpenGL, registered with CUDA, and then the CUDA kernel moves each boid by accessing that buffer memory directly, requiring no transfer between host and device memory.

Boids are colored according to their heading (X component mapped to R channel, Y component mapped to G channel, Z component mapped to B channel), allowing for a primitive visualization of groupings. The movement rules followed by each boid can be weighted by constants in the program, and affect the overall order of the system.


github link

Various computer graphics experiments, written in Vulkan, created for class and personal investigation. Currently exploring the creation of a library to simplify the bootstrapping of new Vulkan programs, for both personal and educational use.


github link

A series of graphics programs written with OpenGL. Most were written as part of a computer graphics class, but some are extended explorations out of class.

legacy projects

Older projects, some unfinished, unlikely to be picked up again in the near future. Some projects were created for hackathons or other similar competitions, which is noted in their description.


github link

Dark, desert tones highlighted by pastel shades of mesa and pine forests. A darker terminal color scheme for the hyper terminal, based on the color palette of the SonoraBuild Minecraft server.


github link

Light, sandier shades punctuated by punchier sun-bleached accent colors. A lighter color scheme for the hyper terminal based off the color palette of the SonoraBuild Minecraft server, with influence from Solarized Light.


github link

Experiment in creating a lightweight graphical tool in Python to "pixelate" an image into grayscale with variable block sizes and a discrete number of shades. Created in service of an art project.


github link

A custom Discord bot, written in Rust, using serenity-rs as a wrapper for the Discord API. Implements various Rust crates to add complex functionality to the bot with a focus on robust interpretation of user input and ease of use.


github link

A twist on the classic game of chess, using probabilistic equations to determine where pieces will move, as well as including various rules inspired by concepts of quantum mechanics. Built for HackSU 2021.


github link

A plugin for Spigot/Paperspigot Java Edition Minecraft servers to redistribute the resources of banned players to the community by way of plugin-managed item pools. Plugin handles serialization/deserialization of item pools, and manages multiple instances of pools in and out of memory, as well as ingame GUI tools to work with item pools directly.


github link

A short webapp in initial stages, running on Flask, to generate Geocities/Neocities-style pages in a configurably randomized manner using scraped web assets.


github link

Experiment in creating a programming language in Rust, using the Make a Language tutorial by Luna Razzaghipour.


github link

A project blending hardware and software to enable cashierless shopping and automation inventory tracking with a focus on ease of use. Uses localized pressure sensitive resistive mats along with NFC tags to track the removal of specific products by a customer. Uses a web interface built on top of Flask and SQLAlchemy to track products, as well as custom-built hardware interfacing with an Arduino board. Built for the 2020 SeattleU ACM Personal Projects Competition.


github link

A multilevel warehouse pallet tracking tool with web interface using persistent narrowband IoT devices to track and store pertinent data for further analysis. Created as part of the 2019 TMobile NB IoT Hackathon in Bellevue, WA.


github link

A web-based tool for receiving data from dust filtration sensors intended for use in space-suit technology. Project finalized in the NASA Space Apps Challenge 2019 with a team based in the US and India.


github link

A learning assessment tool which collects interaction data and survey data through a Chrome extension to categorize the efficacy and specific appeal of online learning resources. Intended for those with learning disabilities to find online resources that are easier to digest. Built as part of DubHacks 2019.