Projects

Ray Tracer

Ray tracer supporting geometric primitives (spheres, planes, and triangles) and meshes imported from .obj files, allowing for rendering textures, reflections, refractions, and customizable BSDFs.

OCaml

Desmos Compiler

Developed a C-like language and a compiler which allows the language to run inside the Desmos graphing calculator. Tests use browser automation to run directly in Desmos.

PythonPytestSelenium

Double-DIP

Implementation of the Deep Image Prior (DIP) network and Double-DIP framework, which were applied to a wide variety of inverse problems including denoising, inpainting, and watermark removal.

PythonPyTorch

dotfiles

My dotfiles for pretty much everything I do on a computer. Contains configs for Neovim, zsh, tmux, and more.

LuaZsh

Desmosify

Convert images into a series of equations for plotting on a graphing calculator. This approach detects uniform regions in an image and calculates Fourier series representations of their outlines.

Python

Resume Generator Tool

Command-line tool to help with resume generation and management. All relevant data is stored in a single location and resumes can be produced via concise specification files.

OCamlLaTeX

Spotify Controller

A web application which allows a group of people to maintain a shared queue of songs more easily than Spotify’s built-in feature (at the time). Each individual manages their own queue of songs, while a central server rotates through the queues to select and play music.

TypeScriptNode.jsReactSocket.IO

Sand Simulation New Tab Page

Simple falling sand simulation written in C and compiled to WebAssembly which can be used as a new tab page in Firefox or Google Chrome.

CWebAssemblyEmscripten

Tank Troublesome

Clone of the game “Tank Trouble” with better collision handling. I made this because collisions in the original game always felt weird.

JavaScriptp5.js

Personal Website

The website you are currently viewing. I have all the content in Org mode files and export it here with ox-hugo. This website also demonstrates my love for the Catppuccin color scheme.

HugoOrg mode