const page = new Pagination(ALL_PROJECTS, 1);display(page);
No alt text provided
Calendar Polyomino Solver

I worked with my Dad on this mini project experimenting with solving polyomino problems. We were specifically focused on the Praxis Puzzles calendar rhombus puzzle. After messing around with some naive brute force solutions, we settled on a typescript implementation of Donald Knuth's Algorithm X based on his original paper Dancing Links.

1/14/2026
No alt text provided
Render Engine

This was supposed to be a weekend project. Six weeks later and here we are. This project was mostly an exploration into how ray-tracing works as a method for 3D rendering. Over time, it somehow morphed into a full editor and with a real time 3D projection view-port. It is semi-polished, so some parts may be clunky or unintuitive. Most of the features were built with speed of development in mind rather than user experience (though some QOL was thrown in here and there).

4/10/2025
No alt text provided
Ace Processor

The ACE (Advanced Computation Engine) Processor, is an implementation of the RISC-V ISA v2.2 in Verilog. It is built for the DE1-SOC FPGA board and is capable of running many simple C programs.

This project was built as a final project for ECE 287 (Digital Systems Design) at Miami University.

A detailed technical breakdown of the project can be found on the wiki.

A demo can be found on Youtube here.

12/12/2024
No alt text provided
Checkers AI

American checkers and a simple alpha-beta search AI. This was a 3 hour coding challenge and probably won't receive any updates :)

2/1/2024
No alt text provided
Convolutions

This is a small demo of image processing using convolutions. The left canvas is for drawing and the right canvas is the output. This was built in an hour, so it is unpolished.

1/5/2024
No alt text provided
Voronoi Experiments

I spent about a week putting together this little demonstration of Voronoi Diagrams along with some kinematic simulations. I didn't really have a plan when starting this project, but it turned out to be pretty interesting. I probably won't come back to this, but time will tell.

10/10/2023
1