Software
Systems, infrastructure, and applications.
Dynamic Reconfiguration in Spire
Designed and implemented runtime reconfiguration and key management for a multi-site intrusion-tolerant distributed system with Dr. Amy Babay.
Pittsburgh Food Access Map
Rebuilt a community food access map with React, Flask, and PostgreSQL, featuring an admin dashboard and community reporting.
Home Server
Self-hosted server with nearly 50TB of storage, running containerized services across media, security, observability, and home automation.
Whole Home Audio
Multi-room Spotify streaming system using Snapcast and Raspberry Pis, housed in custom 3D-printed enclosures.
This Website!
I built this site from scratch.
Game Dev
Games built across game jams, coursework, and personal projects.
Lamport General Systems
A first-person immersive sim — manipulate hostile Byzantine fault-tolerant networks through message interception, code injection, and physical sabotage.
Caterpillar Quest
A top-down video game adaptation of The Very Hungry Caterpillar, built with Unity, Blender, and custom Arduino hardware controllers.
Fight or Flight
A 2.5D platformer built in Godot for Pitt's 2025 Games for Social Impact Game Jam, with original 3D assets.
Discards
A first-person narrative game built in Godot that explores identity, digital consciousness, and moral responsibility through environmental storytelling.
Stranger's Path
A short first-person experience built in Unity following a stranger who arrives alone in an unfamiliar town.
Dev Log
An ongoing game design journal covering ideation, rapid prototyping, and lessons learned across each project.
Writing
Essays on games, technology, and narrative.
A Framework for Game Narrative Analysis
An analysis of embedded and emergent storytelling in video games, using Papers, Please as a case study.
Digital Boundaries and Human Autonomy in Serial Experiments Lain
An analysis of how digital systems blur identity, erode autonomy, and enforce surveillance-driven control.
Complicity and Collapse in MOUTHWASHING
How MOUTHWASHING denies player agency, implicating them in cycles of guilt, helplessness, and moral collapse.
When Rules Write the Story: Exploring Once Upon a Time
How players, rules, and social dynamics shape emergent narratives in the collaborative card game Once Upon a Time.