Technical Portfolio

Brazos Valley Council of Governments Contract Management System
Brazos Valley Council of Governments

A full stack application to serve as a contract management system for Brazos Valley Council of Governments.
BVCOG sent contracts electronically to the contracts@bvcog.org email address, with very little description as to what the contract was about, who it was with, when it expired, and whether it could be renewed.
Sometimes contracts would expire without them taking the appropriate action, or they would continue perpetually on a month-to-month basis resulting in disallowed costs.

Some features include an Amazon-style review system for vendors. Users can review vendors based on how previous contracts went so that better vendors can be selected in the future.
Highly-customizable reports can be generated in Portable Document Format for both users and contracts.
Uses RSpec and Cucumber to ensure test-driven development and behavior-driven development.

You can view the source code for this project here.
You can watch this video below that demonstrates the product that a team of students and I worked on.

Script Search 🔎

Retrieving specific information from vast video data on platforms like YouTube presents a formidable challenge due to the limitations of traditional metadata-based methods.
These methods often struggle to capture the intricacies of video content accurately.
Additionally, the sheer amount of content uploaded to YouTube ensures that a comprehensively nuanced search would take an unreasonable amount of time and effort.
By storing YouTube transcripts and developing a dedicated website, this solution aims to enhance search experiences, optimizing performance while maintaining a balance between speed and accuracy.
The system enables flexible searches with sorting and filtering capabilities, empowering users to efficiently locate videos based on specific words or phrases they recall.
Evaluation encompasses rigorous unit testing, integration testing, user acceptance testing, and user studies to ensure both functionality and user satisfaction.
Overall, the website provides an effective tool for navigating and accessing video content with precision and ease.
You can view the source code for the front end here and the back end here.

ScriptSearch 🔎

StrassenMP
OpenMP

Implemented a parallel version of Strassen's matrix multiplication algorithm using OpenMP directives in C/C++.
The project aimed to leverage parallelism to improve the efficiency of large-scale matrix multiplication tasks.
Developed a scalable parallel algorithm based on Strassen's matrix multiplication technique, utilizing OpenMP directives for parallelization.
Optimized the code to efficiently distribute workload across multiple threads, achieving significant speedup compared to the sequential version.
Conducted rigorous testing and performance analysis to evaluate the scalability and efficiency of the parallel implementation across various input sizes and hardware configurations.
Documented the design, implementation details, and performance evaluation results comprehensively for future reference and potential publication.

TAMU RoboMasters

A project that I have been apart of is the Simulation subteam.
This subteam was a part of the Computer Vision team, which was, intern, part of TAMU RoboMasters.
Some of the work I did on this project can be found on the team's GitHub page found here.

The purpose of the simulation was to be able to emulate the robots developed by the team along with their control capabilities.
Certain robots would be manually controlled while others were automated.
At times, the physical robots were unavailable to the Computer Vision team as the Hardware team were working on the robots to make them better.

To solve this problem, the CV Team created the Simulation SubTeam to create a simulation.
With this Simulation, they would hope to be able to test their new algorithms.
Some of these algorithms include, new de-noise algorithms, more optimal armor plate detector.
Learn more about TAMU RoboMasters here.

TAMU RoboMasters

Point of Sale System
Chick-fil-A at the Memorial Student Center

A Node.js and React project that creates a Point-of-Sale webpage for a Restaurant located at the Memorial Student Center at Texas A&M University. Our specific restaurant was Chick-fil-A.
Using Google OAuth to authenticate administrator logins, adequate role-based access control is enforced.
This project also uses a Google Translate API to ensure proper internationalization.
Finally, this project uses a weather API to display weather information as well as recomend certain items during cooler weather.
A custom REST API to communicate between the front-end and the back-end of the application.

You can view the source code for this project here.

Improving CLIP Training

This project focuses on improving the training of CLIP (Contrastive Language-Image Pretraining) models by optimizing the global contrastive loss for bimodal contrastive self-supervised learning.
Self-supervised learning (SSL) has gained prominence for its ability to generalize across downstream tasks in areas such as natural language processing and computer vision.
Among SSL frameworks, Contrastive Learning (CL) has proven effective by maximizing the similarity between positive pairs and minimizing it between negative pairs.
While CLIP has demonstrated success in aligning image and text representations, challenges persist, such as slow convergence in large-scale bimodal datasets.
Participants are tasked with accelerating global contrastive loss optimization and enhancing model performance on provided benchmarks.

Trainig of CLIP models used a 100k subset of the Conceptual Captions 3M dataset for training and validate the models on MSCOCO and ImageNet datasets.
They must evaluate model performance based on retrieval accuracy and zero-shot classification metrics.
Models are restricted to using ResNet-50 and DistilBERT as encoders, with fixed hyperparameters, and must compare at least two optimizers and three loss functions.
Deliverables include model code, trained models, and a detailed report covering experimental results, all adhering to specified guidelines.
Evaluation criteria include experimental breadth, report quality, presentation, and innovative ideas.

CLIP Training

The following video presents the results of this project.
Additionally a report is provided for more in-depth analysis.

Mortality Prediction Model
Mortality Prediction Model

Developed a predictive in-hospital mortality model utilizing a dataset of several thousand patients.
Experimented with three different training methods and compared their perforce.
Used Logistic Regression, Random Forest, and Extreme Gradient Boosting to compare against the Professor's Model.
The model had a final Area Under the Receiver Operating Characteristic curve (AUC-ROC) Score of 0.89288 which was 5% better than the Professor's Model.
See the source code for this project here.

Chess
Chess

A personal project I developed was a Java Chess program.
This project assisted me in learning the build-in Java GUI Libraries such as Java Swing.
External libraries such as JavaFX were not used for this project.

Additionally, this projeect helped me learn about the software design process.
Software engineering tasks such as Design, Implementation, Testing and Maintanence.
This also assisted me alot in learning about bug testing and determining the origin of bugs.

Future plans for this software include:
Connecting the program to the internet to allow users to play on this software remotely
Add security to ensure only moves are sent and processed.
Training a Machine Learning algorithm to play chess.
Implementing other variants of Chess such as Chess960, Fog of War, or Duck Chess.

The source code for this project can be found here.

SkyBlock Minecraft Mod
Hypixel SkyBlock

Another personal project I developed was a Minecraft Mod.
This projects attempts to emulate the functionality seen in Hypixel's SkyBlock.
This project assisted me in learning about working with existing code and adding modifications ontop of it.
This also assisted me in learning client-side and server-side programming and allocate tasks to each accordingly.

This mod was developed using Forge as a framework.
Learn more about Minecraft Forge here.

This project also helped me understand maintaining a standard already established.
For example image file formats, renduring of models, and the generation of loot tables were standardized within the code.

More information about SkyBlock can be found here.
The source code for this can be found here.