I’m a UC Berkeley MSSE graduate driven to apply my experience in software engineering, machine learning, and data analysis to solve meaningful problems in tech and science.
Arthur J. Gallagher & Co. – San Diego, CA
Oct. 2024 – Present
Merck & Co. – Rahway, NJ
Jan. 2025 – May 2025
MyUCLA Health Ambassadors - Ronald Reagan Medical Center – Los Angeles, CA
May 2021 – Jun. 2022
X. William Yang Lab – UCLA Semel Institute – Los Angeles, CA
Jan. 2021 – Jun. 2022
📁 GitHub repository in the process of being publicly shared by Merck
Developed a modular Python application integrating computer vision (OpenCV, YOLO), an interactive Streamlit UI, and ResNet-based classification to analyze phase boundaries in liquid-liquid extraction experiments. The tool reduced image analysis time from over 1 hour to under 1 minute per 96-sample batch, enabling researchers to visualize classifications, adjust detection settings, and export measurement data with traceability and reproducibility. The software supports multi-label phase identification, height measurements, and bulk image processing with customizable filters.
This repository contains a comprehensive C++ library for Cellular Automata (CA) simulations, developed as part of the Chem 274B course. This group project showcases best practices in software engineering by designing and implementing a reusable CA library, a demonstration application using the library, and detailed analyses of the application outputs. My group successfully created an application that simulates the growth of cancer cells in tissue. The cancer starts from the center of the matrix and spreads outward to other cells using a simple model based on the Von Neumann neighborhood. This model does not account for tissue density, cell properties, or real-life cell-cell interactions. All source codes, documentation, and examples illustrating the library’s capabilities are included. Additionally, the repository contains a PDF with a reflective analysis of the software development process, highlighting collaboration in cross-functional teams, algorithmic performance, and lessons learned.

This repository contains the different files presented for the DATA 200s final group project, focused on analyzing and predicting the outcomes of chatbot duels using a comprehensive dataset from Chatbot Arena. We employed various methods including extensive exploratory data analysis (EDA), logistic regression, linear regression, and clustering techniques to evaluate chatbot performance. The dataset, comprising 33,000 conversations, was cleaned and reduced to 25,322 for analysis. Key methodologies included pairwise fraction analysis and Elo rating systems to measure model performance, K-Means clustering, and one-hot encoding to enhance feature representation. We utilized KFold Cross-Validation to assess model robustness and experimented with PCA for dimensionality reduction, although it proved less effective. Our approach highlights the challenges of modeling chatbot interactions and the importance of advanced data preparation and feature engineering in improving model accuracy.

This repository contains the final project for CHEM 277b: Machine Algorithms, focused on developing a supervised learning Artificial Neural Network (ANN) model applied to the ANI-1 dataset. The project involves progressive development with regular check-ins to ensure steady progress and thorough documentation. Key milestones include data preparation, network construction, and regularization strategies with hyperparameter tuning. This repository includes a detailed Jupyter notebook documenting all stages and an individual report comparing the model’s results with those reported in the literature. The report covers the introduction, methods, results, and discussion, providing a comprehensive overview of the project’s workflow, findings, and conclusions.

This project leverages YOLO (You Only Look Once) to develop a computer vision system for analyzing soccer games. The system is designed to provide comprehensive insights into player movements and team performance. It records team ball control, assigns players to teams using k-means clustering, and actively tracks the ball and the player with the ball. Additionally, the system tracks the camera movements, monitors the speed of the players, and calculates the total distance traveled by each player throughout the game.
