Tech Stack:
Tech Stack:
Senior Capstone Project
WolfConnect is a mentorship platform connecting NC State students and alumni for academic and professional growth. As part of an agile team, I redesigned the database, fixed key bugs, and developed features like messaging and a discussion forum. I improved the user experience, integrated Docker for CI/CD, and deployed the project on an Ubuntu virtual machine. I also conducted weekly meetings and presented progress to stakeholders to ensure alignment with the sponsor’s vision.
Skills: PHP, Laravel, MySQL, JavaScript, React, Material UI, REST API, Docker, GitHub
Final Project for CSC 401 - Data and Communications Networks
This project was a Peer-to-Peer (P2P) network application using Python sockets. It allows peers to share, request, and download RFC (Request for Comments) documents, which are technical and organizational notes that describe standards and protocols for the internet and networking systems. The client can add RFCs, list available RFCs, and download them from other peers, while the server manages connections and the list of RFCs. I implemented this project with a partner. This project was NC State coursework, so I am not permitted to share any of the implementation.
Technologies Used: Python, Sockets, Multithreading
Final Project for CSC 422 - Automated Learning and Data Analysis
For my CSC 422 Automated Learning and Data Analysis class, I developed a project titled Precipitation Prediction using Multi-Dimensional Linear Regression. The goal was to predict rainfall patterns in the Pacific Northwest using four- and five-dimensional linear regression models. My project involved analyzing relationships between precipitation, time, elevation, latitude, and longitude to identify trends and potential correlations.
I used the dataset "50 km resolution daily precipitation for the Pacific Northwest, 1949-94" and integrated it with an elevation dataset that I built myself by writing a short python script which used the Google Maps Elevation API to get the elevation of every coordinate pair in the precipitation dataset. Combining the pricipitation dataset with my altitude dataset allowed me to enhance the predictive model, which fulfilled the project requirement to encorperate something novel into my project. I hypothesized that factors such as proximity to the coast and altitude would significantly impact rainfall predictions. Unfortunately, the results indicated only a marginal improvement after I incorporated altitude, but the project still gave me valuable hands-on experience in data analysis, linear regression modeling, and handling large datasets using Python tools such as NumPy, pandas, and scikit-learn. This project was NC State coursework, so I am not permitted to share any of the implementation.
Technologies Used: Python, Jupyter Notebooks, Google Maps API, NumPy, pandas, scikit-learn
Final Project for CSC 326 - Software Engineering
For my CSC 326 Software Engineering course, I contributed to the development of iTrust2, a healthcare application for managing patient data and user roles. My team focused on adding a new Patient Advocate role, which allows users to view and manage patient information to assist with their healthcare needs. My main contributions included designing frontend wireframes and flowmaps, as well as implementing REST API endpoints and frontend interfaces using JavaScript and AngularJS. I developed user interfaces for managing Patient Advocate permissions and associating advocates with patients. Working on iTrust2 helped me gain experience with frontend development, collaborating on a large codebase, and utilizing GitHub for version control and CI/CD with GitHub Actions. This project was NC State coursework, so I am not permitted to share any of the implementation.
Project for CSC 230 - C and Software Tools
I developed an image compression application for the "C and Software Tools" course at NC State University. It involved implementing an image compression and decompression algorithm using Discrete Cosine Transform (DCT). The algorithm compressed Portable Gray Map (PGM) images into a custom format and then decompressed them back to their original form with minimal fidelity loss. The project also implemented a Makefile for build automation, which ensured that all components are compiled and linked correctly.
The image compression was done by breaking down images into smaller blocks, applying the DCT to convert spatial pixel values into frequency components, and then encoding these components to reduce file size. During decompression, the Inverse DCT (IDCT) was used to reconstruct the image. The implementation also used efficient memory usage and bit-level file operations to optimize data storage and retrieval. This project was NC State coursework, so I am not permitted to share any of the implementation.
Final Project for Foundations of Interactive Game Design
Infinity Gate is a first-person shooter developed for NC State's CSC 281 course. Infinity gate is set in a surreal alien world, based on the semester's final project theme of "Entering Wonderland." , the game places players in a fantasy-like world after the player character crash-landing on an unknown planet. With an open-world map divided into dynamic sublevels, the player assists a friendly alien engineer to build a portal and find their way home. FPS mechanics like sprinting, shooting, and limited ammo combine with exploration and survival elements to create an exciting action adventure game.
Engine: Unreal Engine 4
Santa's Christmas Quest is a holiday 3D platformer set in the North Pole where you play as Santa Claus, equipped with a giant candy cane, battling enemies and solving physics-based puzzles. Developed in Unreal Engine 4.27 with licensed assets from the Unreal Marketplace, the game features a simple combat system with player health, respawning, a checkpoint system for level progression, and a character animation state machine that handles running, sprinting and different types of combat attacks. Enemy AI characters have their own health systems and can engage in combat with the player. The game also includes interactive NPCs, cutscene events, a menu system, and a variety of platformer mechanics and physics puzzles.
Engine: Unreal Engine 4
Test Subject Michael is a horror adventure game set in 1950's New York City, which also draws on influences from popular survival horror games like Resident Evil and Silent Hill. This project was developed to refine my skills in environmental design and storytelling through level architecture. The game employs classic key-lock mechanics, encouraging players to explore and uncover new areas by finding keys and other story items. Scattered throughout the map are pieces of paper containing messages that players can read by interacting with them, adding depth and storytelling elements to the experience. The game also includes scripted timed events, where specific actions trigger pre-planned sequences, creating a more tense and immersive experience by triggering events in environments that the player may have expected to remain static and uneventful. The maps were designed myself by hand, using textures and individual 3D models that I purchased a license for on the Unreal Marketplace.
Engine: Unreal Engine 4
This project involved recreating my room as an accurate 1:1 environment for virtual reality using Unreal Engine. I utilized a combination of software tools, including Meshroom and Blender, to create high-quality photoscans of various objects for an authentic recreation. All of the furniture was modeled from scratch in Blender, and Sketchfab was used for a few additional Creative Commons (CC0) models.
For precise scaling and layout, I began with a photoscan of the entire room, using it as a reference to replicate every detail accurately from scratch. This project allowed me to enhance my 3D modeling skills and experiment with creating immersive virtual spaces in Unreal Engine.
Engine: Unreal Engine 4
This was my first project in Unreal Engine 4. Players will navigate through city streets and an old hotel, completing a series of objectives that progress the game's basic quest system.
This game features dynamic FPS combat with multiple weapon types that players can pick up and switch between. The core gameplay includes engaging with zombie enemy AI designed to chase and attack the player. The player and enemy AI have their own health systems, allowing for the player or enemies to be defeated through combat gameplay. Collectable ammunition crates and health kits are scattered throughout the environment to support player survival.