Bach Pham

Hello,
I am Bach.

3rd year Computer Science major
Physics minor, Math minor
Earlham College | Class of 2028

Explore my background -->

Education

Cumulative GPA: 3.98 / 4.00.
Computer Science | Honors Program

Selected completed classes, through spring 2026:

  • Quantum MechanicsA
  • Modern PhysicsA
  • AI & Machine LearningA+
  • AlgorithmsA+
  • Data StructuresA+
  • Principles of Computer OrganizationA+
  • Linear AlgebraA+
  • Multivariate Calculus (Calc 3)A

Selected fall 2026 courses: Differential Equations, Image Classification with ML, Networks & Networking, and Principles of Chemistry.

Work & research

Publications & latest manuscript

LANCE-7R: enzyme kinetics prediction

2026 | Latest manuscript | Not yet published

My most substantial research project: 40 hours per week for 3 months during the summer, then another 3 months doing research in Fall 2026. My mentors, Kinjal Mondal and Professor Jeffery B. Klauda, have given the work very positive feedback and are currently reviewing the manuscript.

  • I designed a new architecture for enzyme kinetics prediction: one model for three enzyme kinetic parameters, combining two JEPA-style routes with selective label memory. No reaction products needed at inference.
  • 18 of 18 favorable Heldout/OOD99 metric comparisons against retrained CatPred, a model published in Nature Communications (2025); 41 of 48 across all supplied cohorts.
  • Turnover OOD99 R^2: 0.395 vs. CatPred's 0.323 on the same 348 rows.

More in-depth details

A Two-Stage AI System for Interpretable ACL Tear Screening in Connected Health Environments

IEEE/ACM CHASE 2026

First author | PUBLISHED August 2026

  • 0.848 AUC versus 0.719 for the baseline on the paper's 30-patient held-out test set.
  • My contribution: a custom 2.5D ResNet50 classifier combining seven MRI slices, three input channels (intensity, Frangi vesselness, and local variance), and learned slice attention with max pooling.
  • Presented at the University of Pittsburgh.

https://ieeexplore.ieee.org/document/11668005

DOI: 10.1109/CHASE69719.2026.00093

LibreChat for Earlham College ITS

Earlham ITS & System Administration team | Primary maintainer

I collaborate directly with Earlham ITS department to build and maintain Earlham's chat platform, a custom LibreChat deployment in internal beta. As primary maintainer, I support about 150 daily users, with Earlham SSO sign-in and occasional contributions from two teammates.

  • Student tools: isolated coding workspaces and self-service API keys for Earlham-hosted models, with no laptop GPU required.
  • Local inference: migrated from Ollama to llama.cpp across two GPU nodes.
  • Operations: daily spending limits and tested backup recovery as usage grows.

What I built, maintained, and learned -->

Systems administration at Earlham

Student systems administrator | February 2025-present

I help keep Earlham's STEM computing infrastructure running: servers, research software, and the dependencies students need for coursework and research. My main focus is Faraday, maintaining GPU-ready environments, Jupyter access, certificates, and shared storage.

Servers, software & what I learned -->

Tutoring & teaching

Since September 2026, I've tutored:

  • Electromagnetism, Waves and Optics (PHYS 230)
  • Electromagnetism, Waves and Optics (With Calculus) (PHYS 235)
  • Calculus B

In this Earlham campus job, I hold tutoring hours every Wednesday, 7-9 p.m. I've helped several students understand equations more clearly and apply them to course problems.

My Calculus A TA position (teaching assistant) ended in May 2026. I chose to explore physics tutoring rather than continue as a TA.

From cameras to robot-ready scenes

Perception and Robotics Group, UMD | Summer 2025
With Yiannis Aloimonos and Pavan Mantripragada

My work at UMD took me from pixel-level matrix operations to 3D reconstruction, Gaussian Splatting, and RLBench. I started by implementing Gaussian filters, image derivatives in the x and y directions, and edge detection from scratch, without image-processing libraries.

A 3x3 fundamental matrix constrains a point's match in the second image to a line. My write-up derives this matrix from at least eight independent correspondences and explains two uses of SVD: finding a unit-length least-squares solution, then enforcing the rank-two constraint required by epipolar geometry.

Understanding the linear algebra helped me see why each step in the reconstruction code was needed.

Read my full SfM derivation and SVD proof

The two camera centers C and C' and a scene point X define the epipolar plane.Possible scene points along the ray through x project onto the epipolar line l' in the second camera.
Epipolar geometry: a point in one image constrains its match in the other image to a line.

The practical connection: in my reconstruction experiments, standing still and rotating the camera did not provide enough parallax. Translation supplies the viewpoint change needed to recover depth. Understanding the geometry helped me explain why the capture setup mattered, beyond whether the code ran.

NYX-V quadruped

An ESP32 robot with a custom 3D-printed chassis. Its two cores handle Wi-Fi and inverse kinematics.

Bach's NYX-V quadruped robot with its printed frame, motors, and electronics.

Watch the robot

Machine learning for knee MRI

Earlham College & University of Pittsburgh
With Debanjali Banerjee and Fengyi Gao

Multitask learning for ACL and meniscus tear classification and localization. I explored ResNet, CNN-LSTM, and transformer approaches using the MRNet dataset.

Skills

Deep Learning
PyTorch, TensorFlow, Keras, Hugging Face
Computer Vision
OpenCV, MediaPipe, Nerfstudio, COLMAP
Data Science
NumPy, Pandas, Scikit-learn, Matplotlib, SageMath
Development
Python, JavaScript, React, C/C++
Tools & Systems
Git, Linux, Docker, CUDA, Slurm job scheduling (sbatch)