Windcredible Atlas
Overview:
I worked on this project in Lisbon, Portugal with a sustainable wind energy company Windcredible.
This is a cost estimation web tool for wind turbine installations using Blazor and ASP.NET Core,
enabling clients to calculate potential savings based on location specific inputs.
Deployed the project internally on a zero cost in house IIS server.
Integrated global GIS datasets into PostgreSQL database with PostGIS, using pgAdmin for database
management and location based queries.
Overview:
I worked on this project in Lisbon, Portugal with a sustainable wind energy company Windcredible.
This is a cost estimation web tool for wind turbine installations using Blazor and ASP.NET Core,
enabling clients to calculate potential savings based on location specific inputs.
Deployed the project internally on a zero cost in house IIS server.
Integrated global GIS datasets into PostgreSQL database with PostGIS, using pgAdmin for database
management and location based queries.
UA Waterski Team Website
Overview:
I completed this site as my capstone project at The University of Alabama, where my team and I
developed a React web app for the UA Waterski team deployed using Vercel.
Our project focused on creating a centralized hub for the team to improve organization and
efficiency. Previously, the team relied on shared Google Sheets and OneNote for communication,
announcements, practice schedules, and tournament planning a system that was cumbersome and often
confusing.
Overview:
I completed this site as my capstone project at The University of Alabama, where my team and I
developed a React web app for the UA Waterski team deployed using Vercel.
Our project focused on creating a centralized hub for the team to improve organization and
efficiency. Previously, the team relied on shared Google Sheets and OneNote for communication,
announcements, practice schedules, and tournament planning a system that was cumbersome and often
confusing.
SnowSki School Project
Overview:
The Ski Team Management System is a secure, role-based web application built with C# .NET MVC and Entity Framework, featuring a multi-tiered architecture (domain, infrastructure, application layers) for scalable team management. It integrates OpenWeather API for slope conditions and OpenAI for a chatbot assistant, while enforcing strict security via SRI hashes, Azure-managed secrets, and email confirmation. The frontend uses Bootstrap 5 with role specific UIs for athletes (stats), managers (event editing), and coaches (admin controls), all deployed on Azure.
Overview:
The Ski Team Management System is a secure, role-based web application built with C# .NET MVC and Entity Framework, featuring a multi-tiered architecture (domain, infrastructure, application layers) for scalable team management. It integrates OpenWeather API for slope conditions and OpenAI for a chatbot assistant, while enforcing strict security via SRI hashes, Azure-managed secrets, and email confirmation. The frontend uses Bootstrap 5 with role specific UIs for athletes (stats), managers (event editing), and coaches (admin controls), all deployed on Azure.
TriVecta: A Hybrid Approach to Solving the Traveling Salesman Problem
Overview:
I developed the TriVecta algorithm which presents a hybrid solution to the Traveling Salesman Problem, combining Nearest Neighbor, Simulated Annealing, and 2-opt swap to optimize route efficiency. Unlike the Brute Force method (exact but O(n!)) and Nearest Neighbor (fast but suboptimal), TriVecta first generates candidate routes via Nearest Neighbor from all starting cities, refines them using Simulated Annealing (exploring solutions via the Metropolis Criterion), and finally applies 2-opt swaps for local optimization. Tested on a 100-city graph, TriVecta reduced the path length from 3,179,955 (Nearest Neighbor) to 1,052,130, demonstrating superior performance at O(n³) complexity. Though slower than greedy approaches, it balances exploration and exploitation, making it viable for medium-sized datasets. Implemented in C++, the algorithm leverages STL functions (nth_element, reverse) for efficiency.
Overview:
I developed the TriVecta algorithm which presents a hybrid solution to the Traveling Salesman Problem, combining Nearest Neighbor, Simulated Annealing, and 2-opt swap to optimize route efficiency. Unlike the Brute Force method (exact but O(n!)) and Nearest Neighbor (fast but suboptimal), TriVecta first generates candidate routes via Nearest Neighbor from all starting cities, refines them using Simulated Annealing (exploring solutions via the Metropolis Criterion), and finally applies 2-opt swaps for local optimization. Tested on a 100-city graph, TriVecta reduced the path length from 3,179,955 (Nearest Neighbor) to 1,052,130, demonstrating superior performance at O(n³) complexity. Though slower than greedy approaches, it balances exploration and exploitation, making it viable for medium-sized datasets. Implemented in C++, the algorithm leverages STL functions (nth_element, reverse) for efficiency.
Bipartite Matching Problem
Overview:
This project implements the Gale-Shapley algorithm in Python to solve stable bipartite matching problems, such as pairing candidates (e.g., medical residents with hospitals) based on ranked preferences. As the team leader, I coordinated development, contributed to algorithm visualization, and ensured correctness through testing—guaranteeing the solution meets the algorithm's O(n²) complexity while handling edge cases. The program generates random preference lists for *n* participants and outputs stable matches.
Overview:
This project implements the Gale-Shapley algorithm in Python to solve stable bipartite matching problems, such as pairing candidates (e.g., medical residents with hospitals) based on ranked preferences. As the team leader, I coordinated development, contributed to algorithm visualization, and ensured correctness through testing—guaranteeing the solution meets the algorithm's O(n²) complexity while handling edge cases. The program generates random preference lists for *n* participants and outputs stable matches.