Senior Software Engineer • May 2025 - Present
Continuing work from Numbers Station, now at Alation!
Principal Engineer • September 2023 - May 2025
Built a platform for using AI Agents with structured data. Contributed to Numbers Station's multi-agent architecture, and introduced an evaluation framework used by 100s of customers to assure quality on product releases.
Built tooling to speed up error analysis on AI workloads, allowing us to quickly identify and fix failure patterns. Championed LLM-as-a-Judge and introduced it to our product to reduce false-negative rates by 20+%, which helped align evaluation metrics with customer feedback.
Principal Software Engineer • June 2021 - September 2023
Built accuracy and throughput-optimized high-resolution 2D and 3D computer vision models with CNN and Transformer-based architectures on medical and seismic datasets to unlock insights in large datasets by pushing beyond the capacity of traditional hardware accelerators.
Led experiments from start to finish: from making observations and hypotheses, to proposing decisive experiments, then collecting data and making data-driven decisions when investigating the scaling of 2D object detection models to high resolutions, up to 8Kx8K images.
Increased team members' velocity and tightened feedback loops by diagnosing bottlenecks and failure sources in CI. Created an automated solution to minimize developer effort, and automatically catch errors before they merged into production.
Led cross-functional teams to enable new AI models to run on SambaNova's custom hardware, from compilation to runtime. Developed the performance measurement playbook to identify and eliminate throughput bottlenecks.
US12080050B2• December 2021
Methods and systems for determining information for a specimen are provided. One system includes a computer subsystem configured for determining a global texture characteristic of an image of a specimen and one or more local characteristics of a localized area in the image. The system also includes one or more components executed by the computer subsystem. The component(s) include a machine learning model configured for determining information for the specimen based on the global texture characteristic and the one or more local characteristics. The computer subsystem is also configured for generating results including the determined information. The methods and systems may be used for metrology (in which the determined information includes one or more characteristics of a structure formed on the specimen) or inspection (in which the determined information includes a classification of a defect detected on the specimen).
M.S.E in Electrical and Computer Engineering • April 2021
B.S.E in Computer Engineering • December 2019
See Projects.
Graduate Student Instructor • January 2020 - May 2021
Supported 40+ students in lab exercises in Python and C on embedded systems, and helped develop skills in signal processing and system integration later used in their senior design projects.
Reviewed project proposals and offered feedback and debugging help for students to obtain their milestones and project goals.
Adapted labs to allow remote lab completion and support from course staff.
HPC Software Engineering Intern • Summer 2020
Improved baseline model performance by using multiple feature extraction techniques, including dimensionality reduction with PCA, convolutional neural networks, and texture-based features.
Analyzed “Double Descent” phenomenon on KLA’s regression use-cases in computer vision using convolutional and deep neural networks implemented in tensorflow, and managed experiments using mlflow.
Created containerized machine learning infrastructure for algorithm development with CI, automatic testing, dependency control, experiment tracking, hyperparameter tuning, and GPU acceleration.
Software Engineering Intern • Summer 2019
Improved the Duo Network Gateway under Agile framework, which included network and asynchronous programming in Python, and developing and testing code in docker containers.
Investigated failure in Google’s NaSSH network protocol in the DNG, then proposed, tested, and implemented a solution by leveraging Go’s channels and the Twisted asynchronous Python library.
Collaborated with teammates on tasks by soliciting and performing code reviews and design discussions, along with regular sprint planning and retrospectives.
Software Engineering Intern • Summer 2018
Ported X-Rite’s universal device driver SDK from Windows to Linux, which utilizes image processing, multi-threading, and shared libraries to oversee device communications.
Programmed a test application using Qt for a C++ GUI to demonstrate driver SDK functionality.
Refactored and improved an image correction algorithm on device firmware, and applied bug fixes and updated features on X-Rite’s main color-matching software
Undergraduate Researcher • Summer 2017
Conducted research on mental health informatics, leveraging topic modeling and natural language processing algorithms to analyze social media for information regarding mental health issues.
Contributed to the code to collect, process, and analyze data for meaningful information, and helped write and edit research papers documenting analysis and results.
Provided weekly, midterm, and final presentations about project progress.