Skip to content

Projects

Selected work in scientific machine learning, trustworthy AI, and Earth and environmental systems.

Hurricane Florence Rainfall–Runoff Modeling

Event reconstruction for Nahunta Swamp, North Carolina (HEC-HMS)

A reproducible hydrologic-modeling workflow reconstructing watershed response to Hurricane Florence (September 2018). Outlet-specific watershed delineation via USGS NLDI split-catchment (79.80 mi² against a published 80.40 mi², −0.75%), 744 hourly NOAA MRMS gauge-corrected precipitation grids processed to a 15.13 in basin-average depth, and USGS gauge 02091000 discharge quality-controlled against official daily means. The retained lumped HEC-HMS model (Clark unit hydrograph, Tc = 16 hr, R = 30 hr) achieves Nash–Sutcliffe efficiency 0.882, modified Kling–Gupta efficiency 0.844, percent bias 7.17%, and 1-hour peak timing error. A candidate site (Trent River) was screened out and documented after its discharge volume proved physically inconsistent with processed rainfall — site selection by plausibility check, not convenience. Single-event reconstruction, not a validated predictive flood model.

[Source Code][Model Performance]

LLM Refusal Interpretability

Mechanistic interpretability study of refusal in Qwen2.5-1.5B

Investigates whether Qwen2.5-1.5B-Instruct internally represents harmfulness — and whether that representation causally drives refusal. Residual-stream activation analysis across all 28 blocks with leakage-controlled discovery/validation/test partitions, mean-difference directions, linear probes, cross-style transfer, bootstrap confidence intervals, and random-direction / shuffled-label null controls. A linear probe decodes harmfulness at 0.9684 held-out AUROC, yet ablating the strongest harmfulness-associated direction leaves refusal essentially unchanged (+2 pp, 95% CI [−12, +16]) — the central finding: decodability is not causality.

[Source Code][Results]

Open LLM Safety Fine-Tuning

QLoRA data-efficiency study for safety-aware instruction classification

A controlled study of how much supervised data an open instruction model (Qwen2.5-1.5B-Instruct) needs to classify harmfulness and adversarial prompt style on AI2's WildJailbreak. Nested QLoRA training subsets (200 ⊂ 800 ⊂ 3,200 examples) are compared against an untouched zero-shot baseline on a fixed, leakage-safe 2,000-example held-out test set, with group-level splits keeping related vanilla/adversarial variants out of evaluation. Four-way Macro F1 rises from 0.1395 (zero-shot) to 0.9504 at 3,200 examples; adversarial-style recognition proves markedly more sample-efficient (0.9337 style Macro F1 with only 200 examples). Gated dataset contents are not redistributed — published artifacts are aggregate metrics and figures only.

[Source Code][Results]

Karst Intelligence Agent

Multimodal scientific AI for sinkhole risk

Multimodal decision-support system for sinkhole risk in the Winter Park, Florida karst district: XGBoost-based susceptibility modeling, satellite/aerial imagery analysis, natural-language validation and interpretation, spatially aware validation, and risk monitoring / early-warning support. Builds on peer-reviewed sinkhole susceptibility research (Applied Computing and Geosciences, 2025).

[Live Demo][Source Code]

DOE Marine Energy — Simulation-to-ML

U.S. Department of Energy Marine Energy Postgraduate Fellowship

Research engineering with Deep Anchor Solutions: led development of finite-element workflows for marine-energy anchoring systems, including soil-structure interaction, parametric modeling, and simulation-to-ML dataset generation — 5,000+ numerical simulation runs. Scientific computing and numerical modeling feeding surrogate-model research, in collaboration with engineering teams.

[Experience]

Autonomous Voice-Agent Evaluator

Evidence-grounded evaluation of production voice agents

Autonomous speech-to-speech agent for evaluating AI receptionists through real phone interactions. Built with Twilio Media Streams, OpenAI Realtime, and FastAPI, with interruption handling, dual-channel recordings, diarized transcripts, structured failure attribution, human-reviewed evidence, and an independent TraceVox assurance layer. Ten evaluation scenarios span scheduling, rescheduling, cancellation, refills, insurance, ambiguity, correction, barge-in, and identity-isolation cases.

[Source Code][Architecture][Evidence][Bug Report]

TraceVox Research

Open, reproducible research environment

Research environment for reproducible experiments in trustworthy AI, RL, multimodal agents, corruption robustness, adversarial robustness, and AI safety evaluation — per-timestep recorded traces, exact replays, and provenance-carrying machine-readable research bundles. Distributed via PyPI; runs entirely on the researcher's own compute.

[tracevox.ai/research][PyPI][Source Code]

Prompt-Injection / LLM Safety Benchmark

Sole-authored preprint · two-tier adversarial benchmark

A 625-prompt benchmark across 18 attack categories evaluating baseline, regex-only, and hybrid (regex + LLM classifier) guardrails under a single-turn threat model. On the adversarially hard tier the hybrid configuration reached 98.9% attack block rate with 0.0% benign false positives, while regex-only filtering degraded to 24.6%.

[SSRN preprint][PDF][Summary]

TraceVox AI (Platform)

Production AI observability & evaluation

Engineering work around production AI observability, evaluation, tracing, safety monitoring, and agent/LLM infrastructure — complete traces of runs, tool calls, model events, latency and cost, with scored evaluations. The applied counterpart to TraceVox Research.

[Website][Source Code]