Hi, I'm Spencer.

Profile Picture

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

Batching Optimization for Vehicle Production Scheduling
Work
Batched vehicles with similar production dates and features to improve the stability of the production schedule.
  • 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.
Iterative Dynamic Knowledge Graph with Source Traceability
PersonalResearch
A self-updating knowledge graph system that iteratively extracts entities, states, attributes, and relationships from text, while dynamically canonicalizing and refining graph structures as new data is provided, maintaining precise references to the source texts for accurate citation and verification.
  • 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 _.
Artificial Intelligence Algorithm Implementations
Personal
Core AI algorithm implementations in Python with basic use cases.

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.

Machine Learning Visualizations
Personal
Interactive visualizations for core machine learning concepts/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

Contact

spencerbrosnahan@gmail.comFeel free to message me on LinkedIn