Full-Stack Web Applications

Messaging Application Windows Windows

Tech Stack:

I built a simple messaging application which allows users to create an account, log in to an existing account, and send messages to other users who signed up for the application. Messaging is real-time and updates automatically to display new messages as they are sent or received. The frontend is built using React, and the backend used Flask for RESTful APIs and SQLAlchemy for database management. My app also uses CORS for secure cross-origin communication between the front and backend.

GiftFinderAI + MovieFinderAI Windows Windows

Tech Stack:

I built an AI driven gift recommendation webapp. The project was built with Python and Flask for the backend, and Javascript and React for the frontend. Gift recommendations are generated using OpenAI's GPT API, and user input is sanitized to conform to their terms of service using the OpenAI moderation API. For each recommendation, links are provided to view relevant products on Amazon, Ebay and Walmart. The frontend is hosted on GitHub Pages, and the backend is deployed on Heroku. Click the link below to try it out.
I also built another similar web application, which uses AI to recommend movies based on input text provided by the user. Users can describe what kinds of movies they like, or provide a general description of themselves, and the application will use generative AI to create a list of movie recommendations tailored to their description. This webapp also utilizes OpenAI's GPT API for text generation, and movie data for each recommendation, including the movie's title, poster, and a brief description, is fetched from the TMDb API. The webapp also provides sample inputs to help users understand how to optimally utilize the application.The frontend is hosted on GitHub Pages, and the backend is hosted on Heroku. Try it using the link provided below.

NC State Projects

WolfConnect

Windows Windows Windows

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

P2P Network Using Sockets Windows

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

Rainfall Prediction with Linear Regression

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

iTrust 2 Windows Windows Windows

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.

Image Compression Application Windows

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.

Javascript Web Applications

Optimized for Mobile + Desktop Browsers

Not Optimized for Mobile

Game Dev Projects

Infinity Gate | NC State Project Windows

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.

Santa's Christmas Quest Windows Windows

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.

Test Subject Michael Windows Windows

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.

1:1 Room Recreation in VR Windows

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.

Zombie First Person Shooter Windows

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.