UVM PDF Stitcher

2026

Open-Source Document Management Site

I've been helping develop a web app for the UVM library that makes it easier for them to stitch together multiple chapters of PDF documents into one file. I worked on connecting a Python Flask backend to a live JavaScript frontend so users can preview changes and settings in real time. It's been a good introduction to full-stack development at UVM's VERSO.

Javascript
Full-Stack Development
GitHub

Threadbare Story Quest

2026

Open-Source Game For Vermont Cup

I contributed to an open-source Godot game for the Vermont Cup game development competition through Endless OS Foundation's Threadbare project. The idea is that Burlington high school students modify and expand the game as part of a contest, so we intentionally designed parts of the mechanics to feel unfinished and moddable. I mainly worked on movement systems and abilities like teleportation/blink mechanics while trying to keep the code approachable for newer developers.

Godot
Game Design
GitHub
GitHub

CalcMod

2022-Present

Open-Source Minecraft Mod

I co-develop and maintain a Minecraft mod with millions of downloads. I mostly focus on UX decisions, testing new releases, writing documentation, and responding to community feedback through GitHub. It's been fun working with a friend to boost a hobby project into something used by hundreds of thousands of players every month and a source of passive income.

UX Design
Marketing
Bug-testing
Visit

UVM Rate My Professor

2025

Course Application Chrome Extension

I built this Chrome extension because I got tired of switching tabs during course registration to look up professors manually. It integrates Rate My Professors data directly into UVM's registration system so students can easily spot which classes to take (or avoid at all costs). The extension has over 100 users at the moment, with big spikes around course registration.

API Integration
Marketing
Javascript
Install

Graffiti Map

2025

Chicago Street-Art Documentation

How local is graffiti? As my senior capstone “May Term” project at FWP, I spent a week with a friend walking around Chicago documenting graffiti with geotagged photos. We logged and categorized over 460 unique pieces, and I used ArcGIS to build an interactive map to answer this question.

ArcGIS
Data Science
Visit

Cuban Missile Crisis Game

Historical RPG

I made this Twine-based RPG to explore the Cuban Missile Crisis through President Kennedy's perspective. Follow the path of history or stray for potentially nuclear results.

Will you fight back and look strong?
Will you cave and proceed diplomatically?
Which should take priority: humanity or reelection?

Twine
Historic Research
Creative Writing
Play

Rock Climbing

2024-Present

UVM Climbing Team

I first started climbing near the end of high school, and got hooked by its collaborative puzzle solving aspect and its allure for outdoor shenanigans. I'm now part of the UVM climbing team and spend a lot of time projecting problems with friends and other climbers. Since joining the team I've begun to dip my toes into competitive bouldering.

Art

A lot of my projects end up mixing programming and visual design, so I spend a ton of time experimenting with digital art tools. Check out some of my art below!

Blender
Adobe Suite
Mathematics
Visit

FTC Robotics

2021-2025

Robotheosis: Head Of Design

I was Head of Design for FTC Team Robotheosis throughout high school and helped design multiple robots that made it to the Illinois state competition, one of which won 1st place in design. I worked heavily in CAD, fabrication, portfolio writing, outreach design, and team organization. Robotics taught me a lot about iterative design, collaboration under pressure, and how to recover when things inevitably break the night before competition.

CAD
Fabrication
Info

YouTube Network

2025-Present

Subscription Visualizer Site

This is an in-progress project that visualizes the overlap between YouTube subscriptions across groups of friends. The site uses Node.js and Google Cloud services to process and compare channel networks, then displays the shared connections visually. I mostly wanted an excuse to explore graph visualization and recommendation-style systems in a fun way. LMK if you can think of a good way to scrape a user's subscribed channels, because right now that's the main limitation!

Node JS
API Integration

This Website!

2026

I built this site from scratch as both a portfolio and a sandbox for graphics experiments. The landing page uses a custom Three.js + TSL GPU-rendered Newton fractal that updates interactively based on cursor movement and adapts responsively for lower power devices.

Three.js
Responsive Design