Problem: Prior work on using LLMs in autonomous material-science design was
scoped toward inference-time updates, e.g. appending prior modification attempts to the
prompt.
Approach: Leverage symbolic feedback from material-science tooling and custom
rubrics to add learning to the interaction loop and increase LLM reasoning capacity on
material-science tasks.
Result: Built a post-training pipeline, 1,000-material band-gap benchmark,
and material-science RL environment with property-evaluation tools to study reasoning in
open-source models such as Qwen3-4B-Instruct-2507, Llama-3.2-3B, Phi-4-mini-reasoning, and
Minitron-4B-Base. Reward and held-out task success increased for all models, but Qwen was
better at hitting the target band gap (+3.7 percentage points, McNemar p = 0.015).
Co-first-author paper is in draft; code is open-sourced.
Problem: Global maritime infrastructure increasingly exposes NMEA navigation
and control protocols to the open internet, but there is no clear picture of how much
exposure exists or how it maps to real vessels and operators.
Approach: Investigated vulnerabilities in global maritime infrastructure by
identifying internet-exposed vessels and navigational hardware.
Result: Used NMEA 0183/2000 protocol signatures to build automated tooling
that queries Censys and Shodan and maps the attack surface of maritime cyber-physical
systems.
Research Infrastructure & Tooling
Atlas
Apr. 2025 – Present
Problem: Over the first half of my research project, I spent more time building
post-training infrastructure than using it. Bash scripts piled up for SFT, RL, debugging, and
evaluation, and every change meant hand-editing them again: switching between single-GPU and
distributed jobs, constraining sample size for debug runs, and coordinating multi-array chunk
evaluation and data generation across clusters.
Approach: I built Atlas as a general-purpose orchestration layer between my
project and the cluster. I supply job templates; Atlas handles SLURM headers, array chunks, run
IDs, GPU monitoring, learning rate sweeps, and the rest of the boilerplate for scaling training
and evaluation jobs.
Result: A job runner that removed most of the friction from HPC workflows—one
interface to launch and manage training jobs at scale without rewriting bash for every
configuration change.
SymbolicGym: Unified RL Platform for Symbolic Reasoning
Apr. 2025 – June 2025
Problem: RL agents that manipulate symbolic and logical structures — SAT
formulas, proofs, algebraic expressions — didn't have a shared platform to train and
evaluate against; every project was reinventing its own environment, reward, and state
representation from scratch.
Approach: I built SymbolicGym, a modular framework connecting RL agents
(PPO, DQN, MARL) to symbolic reasoning tools (Z3, SymPy, Minisat), with reward functions
for syntax, semantics, and domain-certificate verification, plus GNN state encodings for
logical formula trajectories.
Result: A working, open-sourced platform that let me iterate on reward
design and interpretability for logic-solving RL agents across multiple solvers.
Architecture & code
SymbolicGym architecture: unified RL platform for symbolic reasoning.
Problem: I was curious about the outbound network activity from applications—what
requests and responses were actually leaving the device, and what sensitive data might be in them.
Approach: I built Cartographer, an MITM proxy that intercepts HTTP/HTTPS traffic,
analyzes requests and responses, detects sensitive information (PII), and surfaces captured traffic
in a reviewable UI.
Result: A network traffic monitoring and analysis tool with MITM proxy capabilities
for intercepting, inspecting, and visualizing application network behavior.