Hi, I'm Spencer.
Full-Stack Software Engineer.
AI/ML Engineer.
Research Engineer.

Full-Stack Software Engineer.
AI/ML Engineer.
Research Engineer.
Coding the bridge between artificial intelligence and everyday solutions.
Experience
Full-Stack Software Engineer
August 2023 - Present
General Motors
Full-Time
Austin, TX
- Design and built user-friendly UI dashboards for data visualization using Angular
- Develop efficient APIs with Java, Spring Boot, Redis, and Postgres for data serving and manipulation.
- Optimize key processes using ML and Linear Programming.
- Enabled ~40 plants worldwide to analyze and act on large shipment datasets, empowering BAs and workers to make data-driven decisions.
- Applied design patterns (e.g., Strategy, Template Method) across core applications, reducing codebases by 1000s of lines while enhancing reusability and maintainability.
Research Assistant
March 2021 - August 2023
Brigham Young University - Department of Computer Science
Part-Time
Provo, UT
Lead researcher and co-author of a research paper entitled,Adapting to Teammates in a Cooperative Language Game.
- Implemented a gameplay and data visualization/analysis framework that executed, recorded, parsed, and calculated statistics on hundreds of thousands of games and millions if lines of data.
- Implemented bots from prior research to play the game 'Codenames,' optimizing algorithms for a 100x speedup, enabling significantly more experiments and deeper analysis.
- Created a novel ensemble bot built on multiple embedding models that dynamically adapts to a given teammate using the Upper Confidence Bound algorithm.
- Developed a novel metric using a regression model to quantify the relationship between turn outcomes and final game statistics, enabling the selection of the optimal embedding model in the Upper Confidence Bound algorithm.
Teaching Assistant - Advanced Programming Concepts
August 2022 - December 2022
Brigham Young University - Department of Computer Science
Part-Time
Provo, UT
- Supported the teaching of Java programming by designing and implementing SQLite databases and developing server/client models using Android Studio.
- Delivered instruction on object-oriented programming concepts to over 100 students, enhancing their understanding of advanced programming techniques and best practices in software development.
- Debugged Java programs and Android applications, resolving issues and optimizing performance for student projects.
Projects
- Developed efficient heuristics to optimize vehicle production scheduling, achieving near-optimal solutions with a 99% reduction in computation time compared to full solutions.
- Ideated, implemented, and evaluated a novel algorithm based on hierarchical clustering and optimal leaf ordering for sorting orders so that any subset of neighbors in the list are similar in terms of features and production date.
- Implemented optimizations that improved production delays by 7.8x, reduced date ranges within batches by 2.9x, and enhanced feature similarity across vehicles by 11%.
- Personally presented these results and the algorithm's benefits to top executives.
- Designed a framework for accurate synthetic data generation adhering to specifications defined for each step in the pipeline.
- Engineered prompts to maximize performance on each step in the pipeline.
- Developed an evaluation framework to benchmark the performance of each step in the pipeline.
- Fine-tuned LLMs to combine steps in the pipeline resulting in an uplift of _ and a cost reduction of _
- Used reinforcement learning to train the answering engine LLM for knowledge graph traversal resulting in a Q&A improvement of _.
I implemented the following concepts/algorithms and wrote blog posts about them:
- The Transformer Architecture for translation (encoder-decoder) and text-generation (decoder-only)
- Clustering - Partition-Based (K-Means), Hierarchical (Agglomerative and Divisive), Density-Based (DBSCAN), Model-Based (Gaussian Mixture Models)
- Linear Regression
- Logistic Regression
- Decision Trees: Basic ID3, CART, Random Forest, Gradient Boosted (XGBoost)
- Backpropogation
- Perceptron
- Gaussian Graphical Models
This project is a work in progress and 'm continuously adding new implementations as I learn about or review the respective algorithms.
I created visualizations for the following concepts/algorithms for some blog posts I wrote:
- Maximum Likelihood Estimation
- Bayesian Inference
- Principle Component Analysis
- Expectation Maximization
This project is a work in progress and I'm continuously adding new visualizations as I learn about or review ML algorithms/concepts.
Skills
Click on any skill to see an explantion of why it's included.
Technologies
Abilities
Education
University of Texas at Austin
August 2024 - Present
M.S. Computer Science
Projected Graduation: August 2027
Current GPA: 3.84
Brigham Young University
September 2017 - April 2018
September 2020 - June 2023
B.S. Computer Science, Emphasis in Data Science
GPA: 3.96