August 2026 – Present
I am currently developing Spellbound, a single-player platformer in Unreal Engine 5. The game is planned to combine exploration, environmental puzzles, and sword-and-magic combat.
I have so far implemented basic player movement, gameplay mechanics, and the player interface. I am continuing to develop the game while building my skills in C++, level design, and Unreal Engine.
June 2026 – Present
I designed and built this website to bring together my projects, technical skills, education, and experience. I created a minimal dark interface with consistent typography, spacing, and reusable card layouts to keep the focus on my work.
I implemented category tabs and smooth transitions between the project grid and individual project details using JavaScript. Each project includes a summary of my contribution and links to relevant files or source code. I continue to refine the design and add new work as I develop my skills.
View Source on GitHub ↗August 2026
I created a visual analysis of book ratings, genres, publication years, and reader engagement. I cleaned and filtered the dataset, prepared variables for comparison, and built 24 visualizations using Matplotlib, Seaborn, and Plotly. These include distribution plots, correlation heatmaps, hexbin plots, bubble charts, and interactive 3D scatterplots.
I organized the analysis to move from data quality and overall distributions to comparisons across genres and relationships between book characteristics. I used logarithmic scales and density plots to make skewed engagement data easier to interpret, and paired each figure with an explanation of its meaning and limitations. The project demonstrates how I select charts, communicate patterns, and distinguish reader popularity from average ratings.
May 2026
I developed a Random Forest classifier with 700 decision trees to distinguish five cancer types using RNA-Seq gene expression data. I examined the distribution of cancer types and built a preprocessing pipeline with median imputation to handle missing values. I used a stratified 80/20 train-test split to preserve class proportions when training and evaluating the model.
The model correctly classified every sample in the held-out test set, achieving 100% accuracy. I used precision, recall, and a confusion matrix to evaluate the predictions across the five classes. I also discussed why these results on a controlled dataset do not establish clinical performance and why testing on more diverse data would be necessary.
April 2026
I developed a histogram-based gradient boosting regressor to predict housing sale prices in Ames, Iowa, using property characteristics such as living area, overall quality, age, and neighborhood. I explored 1,875 training records and built a preprocessing pipeline to handle missing numeric and categorical values and encode categorical features.
On the test data, the model achieved a mean absolute percentage error of 8.54%, with 93.39% of predictions falling within 20% of the actual sale price. I compared predicted and actual prices to examine errors and discussed the limitations of applying a model trained on historical sales from one city to other locations and market conditions.
MONTH YEAR
I developed a histogram-based gradient boosting classifier to estimate the probability of a batter swinging at a pitch, using Zac Gallen's 2023 MLB pitch data. I explored swing rates across pitch types and built a preprocessing pipeline to encode categorical features alongside numeric measurements such as pitch speed, movement, and location. I then applied sigmoid calibration with five-fold cross-validation to improve the model's probability estimates.
On the test data, the model achieved a Brier score of 0.1785 and an expected calibration error of 0.0495. I used a calibration plot to compare predicted probabilities with observed swing rates and examined where the estimates differed. Since the data covers only one pitcher, the results would need further evaluation before applying the model to other pitchers.
April 2026
I developed a Random Forest classifier with 200 decision trees to identify fraudulent credit card transactions using transaction amounts and anonymized features. I explored 54,276 training transactions, compared transaction amounts across fraudulent and legitimate purchases, and examined the class imbalance, with fraud representing only 0.58% of the training data.
On 13,569 test transactions, the model achieved 98.48% precision, 82.28% recall, and an F1 score of 0.8966 for fraud detection. I evaluated the trade-off between false alarms and missed fraud, finding that predictions of fraud were highly reliable, but approximately 18% of fraudulent transactions went undetected.
March 2026
I developed a K-Nearest Neighbors classifier to predict wine quality using chemical measurements and wine color. I explored the relationship between alcohol content and quality, then built a preprocessing pipeline to handle missing values, standardize numeric features, and encode categorical data.
On 1,040 test samples, the model achieved 61.54% exact-match accuracy and a mean absolute error of 0.4327 quality points. I used a confusion matrix and per-class metrics to examine errors, finding that the model performed better on common quality levels and struggled with rare ratings.
February 2026
I built a K-Nearest Neighbors classifier to identify Kevin Gausman’s pitch types using Statcast data. I explored pitch characteristics, created a preprocessing pipeline for missing values, feature scaling, and categorical encoding, and trained the model on 2024 pitches before testing it on data from the first half of 2025.
The model achieved 98.34% test accuracy across 1,806 pitches. I also examined precision and recall for each pitch type, identifying weaker performance on the rare sinker class despite the high overall accuracy.
March 2025 – May 2025
I designed and built Cyber Sprint, a competitive board game about digital privacy and security. I developed the board layout, turn structure, security point system, and card effects, then created a physical prototype with handmade cards and trackers. I also wrote the rules and documented the game’s components.
April 2025
As part of a group project to design a university app, I created the login and forgot-password screens in Figma. My work focused on the interface layouts, form fields, and navigation for signing in and recovering account access. The screens below show my design work within the larger team project.