My Projects

Workflow for UMI-E+ Data Integration
Workflow for UMI-E+ Data Integration

Developed a scalable Python program to automate the extraction of geometric data from 3D models of downtown Des Moines, Iowa. The tool generated over 50,000 files with precise tree parameters, enabling detailed analyses of shading and moisture effects on urban building energy dynamics. This work streamlined urban energy simulations and was presented at the National Conference for Undergraduate Research in Long Beach, California.

Movie Magnet App
Movie Magnet Android App

Collaborated in a team of four to develop a full-stack Android application using Java and Spring Boot. The app enables users to search for movies, access nearby theater information, and connect with friends who share similar interests and age/rating preferences, leveraging WebSockets and RESTful APIs for seamless real-time interaction.

Roomba Navigation Project
iRobot Roomba Navigation

Configured a Roomba to navigate a field of cylindrical objects using PING sensors, successfully identify the tallest object, and return to start within 10 minute timeframe.

Arduino Sensor
Arduino Temp/Humidity Sensor

Arduino circuit with humidity/temperature sensor and LCD display.

Binary Tree Decoder
Binary Tree Decoder

Developed a Java program that decodes archived messages using a binary tree to represent encoded characters. The program efficiently traverses the tree to reconstruct the original message while also displaying detailed statistics, demonstrating mastery of recursion, data structures, and algorithmic problem solving.

Portfolio Site
Personal Portfolio Website

This portfolio website with animations, responsive design, and GitHub Pages deployment.

ConnectFour Game
ConnectFour Game

Developed an interactive line game in Java for COMS 227 at Iowa State University, designing and implementing the full back-end logic, including game rules, scoring, and state management. Added features for saving and loading game progress, ensuring a smooth user experience and robust gameplay mechanics.

Single Cycle MIPS Processor
Single Cycle MIPS Processor

Designed with MIPS Assembly and VHDL to support arithmetic, logic, and memory instructions. Integrated pipeline stages (IF, ID, EX, MEM, WB) with hazard detection and forwarding units to optimize instruction throughout and resolve data/control hazards. Compared processor performance with non-pipelined implementation, demonstrating a significant reduction in clock cycles.