University of Connecticut School of Engineering
Bachelor of Science in Engineering (Computer Science and Engineering)
Honors: summa cum laude (Cumulative GPA: 3.94/4.00)
Garmin Senior Software Engineer 2025-Present
Developed embedded firmware in C/C++ for satellite communication products, implementing custom memory allocators that eliminated memory leaks and improved system performance. Led the design and implementation of an LTE/NTN power and mode control system, delivering a reliable solution that met complex business constraints and power requirements for low-power wearable devices.
Technical Environment: C/C++
Trail of Bits Security Engineer 2022-2024
Consulted with companies and governmental agencies for research and engineering tasks. Developed new solutions and updated existing codebases to meet new requirements. Conducted novel research to evaluate LLMs in security-oriented tasks. Wrote reports that communicate results of projects and evaluate success and failure.
Technical Environment: C++, Go, Python, Javascript
Google Software Engineer January 2019-December 2021
Designed and implemented various video processing applications using the Vulkan graphics API, including a more general purpose wrapper library that simplifies the process of setting up compute pipelines. Algorithms implemented as both ffmpeg AVFilters as well as custom designed, extensible C++ libraries.
Technical Environment: C++, Javascript
Mentor Collective Software Engineer June 2018-December 2018
Designed and implemented a dependency free UI library for featureful surveys to remove a third party dependency and data liability. Routinely isolated and solved bugs to improve code quality and improve the user experience.
Technical Environment: JavaScript, Ruby, Rails
NASA Jet Propulsion Laboratory Software Development Intern Summer 2017
Designed, implemented, and tested a custom version controlled database to enable retrieval of data from any point in time. Collaboratively refined an API to implement a reliable and functional web service.
Technical Environment: Python, Flask, Git
The Mitre Corporation Software Development Intern Summer 2016
Developed and implemented algorithms to meet design goals of a responsive web application used by the Air Force. Collaborated with a team of six other interns to successfully develop a functional software product.
Technical Environment: JavaScript, D3.js, AngularJS
Working with new clients to understand existing processes and requirements.
Communicating project progress rapidly and concisely to keep projects on pace and budget.
Writing reports to share results of research and development with stakeholders beyond immediate contacts.
Programming Languages: C/C++, Go, Python, JavaScript, Objective-C, Ruby
Skopeo Geometry Viewer (Work in progress) - DEMO
Developing a C program for analyzing and rendering STL files in the browser using WebGPU and Open CASCADE Technology (OCCT). Currently a work in progress, though you can see a demo by following the link above.
VersionDB - GitHub
This is a versioned database written in C to solidify my knowledge of systems programming. It includes a multithreaded server architecture, that is able to store data and retrieve any version of that data. Originally started as a Python library that used Git to manage versioned data for an internship at NASA JPL.
Delaunay Triangulation in Arbitrary Dimensions - GitHub
For a computational geometry class, I completed a group project where we implemented an easy to use Python library that can compute the Delaunay Triangulation and Voronoi Diagram of any given point set. I specifically contributed implementations of geometric alglorithms that are generalized to work in any dimension.
Interactive Geometric Markup Language - GitHub, Euclid's Elements, Book 1
For my senior design project, I built the front end visualization and interactive interface for a geometric markup language. We then used this to create interactive visualizations to the first book of Euclid's Elements. All rendering is done with WebGL in JavaScript with no dependencies.
Research in Stochastic Processes
I explored applications of the the Metropolis-Hastings algorithm to find solutions to NP hard problems. From this research, I learned the chosen problem (two-sided matching with couples) already had an approximation algorithm that found matches quicker than the probabilistic search was able to.