Projects

Building systems, exploring ideas, and shipping code.

01

GPU-Accelerated E-Graphs with CUDA

ResearchCompilers & PL

A research thesis project exploring how e-graph based programming language techniques can be implemented efficiently on GPUs.

  • Investigates GPU parallelism for accelerating equality saturation and core e-graph operations.
  • Connects programming language theory, compiler optimization, and high-performance computing.
  • Focuses on making large-scale program reasoning and transformation more scalable.
Repo unavailable
02

RISC-V Execution Visualizer and Custom Assembler

Systems & ToolsCompilers & PL

An educational tool for stepping through RISC-V programs with register-level visualization.

  • Built a custom assembler and execution trace pipeline in Rust.
  • Visualizes register file changes across each instruction step.
  • Designed to work like a Python Tutor style debugger for RISC-V assembly.
Repository
03

hodr

Systems & Tools

A small CLI for adding repo files and directories to .gitignore from an interactive fuzzy menu.

  • Lists untracked files with Git and filters out entries already ignored.
  • Opens a skim fuzzy picker for selecting one or more files or parent directories.
  • Appends only new .gitignore entries and handles non-repository runs with a warning.
Repository
04

Bragi

Systems & Tools

A Rust CLI for organizing, browsing, and playing a local MP3 and FLAC music library.

  • Sorts tracks into an All_Songs artist, album, and title layout using audio metadata.
  • Keeps FLAC files when duplicate FLAC and MP3 versions of a track are present.
  • Supports fuzzy track playback and M3U playlist creation from selections, filters, random picks, or imports.
Repository
05

CFlat RISC-V Compiler Backend

Compilers & PLSystems & Tools

A Rust-based compiler backend that targets RV64G RISC-V assembly.

  • Implements instruction emission, function calls, stack layout, and register allocation.
  • Follows the RISC-V calling convention for arguments, return values, and saved registers.
  • Supports backend features such as memory allocation, arrays, and function prologue/epilogue generation.
Repo unavailable
06

Bismuth

Compilers & PL

A Scala 3 port of the Bismuth interpreter, a small image-generation language for rendering procedural programs to PNG.

Color gradient generated by BismuthCheckerboard generated by Bismuth
  • Ported the original Haskell interpreter while serving as a TA for CS 686: Program Synthesis.
  • Parses .bi source files with FastParse and supports coordinates, colors, masks, arithmetic, transforms, and composition operators.
  • Renders individual programs or directories of examples concurrently through an sbt-built runnable JAR.
Repository
07

StatZHub Roofing Lead Generation Platform

Web & Product

A lead generation project for roofing companies, selected for presentation at the Dean's Reception.

  • Built around helping roofing companies identify and manage potential leads.
  • Selected for the Dean's Reception showcase.
  • Presented as a poster/demo project to the Dean's Leadership Circle.
Repo unavailable
08

Hadoop MapReduce Log Analyzer

Data & Analytics

A distributed log analysis project for processing large web log files using Hadoop MapReduce.

  • Computes unique domain counts and top websites by domain frequency.
  • Uses chained MapReduce jobs for counting and sorting.
  • Designed to compare single-machine processing against distributed execution.
Repo unavailable
09

Spark Climate Data Analysis

Data & Analytics

A large-scale data analysis project using Spark to investigate climate and weather patterns from structured datasets.

  • Processes large climate datasets with Spark RDDs and DataFrames.
  • Extracts location-based features such as temperature, precipitation, cloud cover, and snow.
  • Focuses on finding unusual or interesting geographic climate patterns.
Project
10

DiffServ QoS Simulation in ns-3

NetworkingSystems & Tools

A network simulation project implementing and evaluating DiffServ quality-of-service mechanisms.

  • Implements a DiffServ base class in ns-3.
  • Adds support for scheduling mechanisms such as Strict Priority Queuing and Deficit Round Robin.
  • Uses simulation-based validation to compare network behavior under different QoS policies.
Repository
11

Poetry Portfolio Website

Web & Product

A static poetry portfolio website built with Astro.

  • Uses Astro to publish and organize poems in a custom website.
  • Includes custom components such as a side-by-side poem revision slider.
  • Designed for GitHub Pages deployment with custom styling and layout.
Project
12

Neo4j Crime and Allegation Graph Application

Databases & Graphs

A graph database project modeling people, countries, crimes, and allegations using Neo4j.

  • Models relationships such as citizenship, committed crimes, and allegations.
  • Uses weighted relationships to represent different forms of association.
  • Built with Spring Boot and Neo4j as part of a backend application.
Repository