Selected work.
Click any project to dive into the full write-up, images, and technical details.
Tire Rubber Noise Reduction with Graphene & Carbon Nanotubes
A two-year investigation into how nano-scale carbon additives shape the noise emitted by tire rubber — a problem that matters more as vehicles electrify and engine noise disappears, leaving tire-road contact as the dominant source.
- Custom test bench — designed fixtures in SolidWorks and built a rig pairing a shaker, force gauge, Laser Doppler Vibrometer, and microphone to isolate rubber vibration from room noise.
- Material characterization — ran 50+ dogbone specimens through tensile, hysteresis, and digital image correlation (DIC) strain-field analysis.
- Formulation sweep — tested control rubber vs. 5 phr and 10 phr carbon-nanotube loadings across three independent batches.
- ~13 dB noise reduction at 10 phr CNT vs. the unfilled control.
- Higher hysteretic damping — larger stress-strain loop area in CNT-loaded compounds.
- Industry pickup — a tire manufacturer is now prototyping a set of tires using our compounds.
Neural Network Finite Element (NNFE) — Laplace Equation
A physics-informed NNFE solver in JAX that learns the 2D Laplace equation directly from the FEM weak-form residual — no labeled data required.
- Small MLP maps the boundary-flux parameter to all 121 nodal DoFs on a 10×10 quadrilateral mesh.
- Loss function is the FEM weak-form residual — the network learns to satisfy the PDE directly.
- Implemented in JAX + Equinox, optimized with Optax.
- Verification — NNFE output is visually indistinguishable from a classical FEM solver at t = 4.0.
- Resolution limit — Neumann boundary-frequency sweep (n = 1…5) exposes the 10×10 mesh cutoff.
- Generalization — extended to three alternative BC regimes: dual Neumann, constant flux, quadratic Dirichlet.
Ergonomic Assessment & Pose Estimation
Built a computer-vision pipeline that automates REBA (Rapid Entire Body Assessment) ergonomic risk scoring from video of furniture-assembly tasks — turning a manual, clipboard-based protocol into a frame-by-frame signal.
- Keypoint extraction — 2D/3D skeleton joints per frame via OpenPose and MediaPipe.
- Action classification — four assembly actions (flip table, spin leg, screw with table thread, pick up leg).
- Per-frame REBA scoring — flags high-risk postures in real time.
- Fine-tuned a vision-language model on lab-collected video clips to interpret raw footage end-to-end.
- Captions actions, reasons about posture, and cross-checks the keypoint-based REBA pipeline.
- Deployed locally — no footage leaves the device, meeting the lab's data-privacy requirements.
- Built the benchmark-vs-test action-timeline (above) to surface anomalies and prolonged high-risk postures across conditions.
- Featured in Texas Mechanical Engineer 2026, p. 22 — alongside CATIA/RAMSIS digital-human modeling and topology-optimized generative designs from the same lab.
High-Pressure Impact Testing
High-pressure gas-gun impact experiments on acrylic specimens using a Split Hopkinson Pressure Bar — a standard instrument for capturing material response at strain rates of 10³–10⁴ /s that are inaccessible to conventional load frames.
- Gas-gun barrel drives the striker into the incident bar at controlled pressure.
- Bonded foil strain gauges on incident and transmitted bars measure stress waves.
- Dedicated amplifiers condition the millivolt signals for clean capture.
- Tektronix MDO3034 oscilloscope — captures waveforms at 250 kS/s, 10k points.
- Reconstructed specimen stress-strain response from the classical 1-D wave equations.
- Cross-validated incident, reflected, and transmitted pulses for force equilibrium.
- Checked wave dispersion and assessed data quality before downstream constitutive modeling.
Belt-Driven Ackerman Steering RC Car
Designed and assembled a belt-driven RC car with true Ackerman steering geometry in SolidWorks, producing detailed part and assembly drawings with GD&T callouts and a complete bill of materials.
- Wheelbase L = 250 mm · Track T = 160 mm
- Design turn radius R = 531 mm — tight enough to clear the course's hairpin without tire scrub.
- Inner / outer steer angles δᵢ = 29°, δₒ = 22° — a 6.8° split.
- Ackerman condition cot(δₒ) − cot(δᵢ) = T/L satisfied numerically: 0.641 ≈ 0.640.
- 3D-printed chassis with integrated steering knuckles and kingpin pivots.
- Belt-drive powertrain with centerline front and rear pulleys.
- Steering servo, ESC, receiver, and LiPo battery packaged on the deck.
- Full SolidWorks part and assembly drawings with GD&T and BOM.
- 3rd place out of the class in the end-of-semester race.
Intake Condition Prediction at Austin Animal Center
Predicting whether an animal arrives at the Austin Animal Center as Healthy or Unhealthy — framed as a triage aid for shelter staff to speed up medical response and guide city resource allocation.
- ~50,000 intake records with 18 imbalanced condition labels.
- Collapsed the target to a binary outcome (Healthy / Unhealthy).
- Engineered four predictors: animal type, sex upon intake, age upon intake, intake type.
- Logistic regression baseline.
- Tuned random forest — grid search over
mtryandmin_n. - Evaluated with 10-fold cross-validation; reached ~85% accuracy.
- Class imbalance drives strong performance on Healthy, but Unhealthy recall is the real bottleneck.
- Recommended collecting richer intake features — vitals, breed risk, prior history — to improve minority-class detection.
JawnApply
A multi-agent AI Chrome extension that automates job application form-filling. Paste a URL, review the draft, approve — the agent reads the form, pulls the right data from your profile, and submits.
- Page parser — extracts form fields, required markers, and validation hints from the DOM.
- Field matcher — maps each field to the right value from the user's profile.
- Validator — sanity-checks drafts before submission.
- Submitter — handles file uploads and navigation through multi-step forms.
- All four agents share state so context isn't lost between steps.
- Selenium for browser automation in the extension runtime.
- OCR for screenshots and images that resist DOM scraping.
- Claude API powers each agent with task-specific prompts.
- Built for non-technical users — no scripts, no JSON configs.
- Minimal user-facing flow: paste URL → review → approve.
Eye-Tracking Usability Platform
Browser-based research tool for task-based usability tests at the HUCO Lab. Stitches gaze, clicks, and page state into a single CSV per session.
- Real-time gaze logging — webcam-based estimation via WebGazer.js with per-participant calibration.
- Session metadata tracking — participant ID, condition, stimulus, timestamps.
- Event export — timestamped clicks, scrolls, and page transitions aligned with gaze stream.
- Lightweight event framework — define custom trial conditions and stimuli without writing glue code.
- CSV exports feed straight into R or Python for fixation duration, saccade paths, AOI dwell time.
Multi-Agent Research Finder
A system of AI agents that automatically searches for research labs and experts with aligned interests and structures automated outreach workflows.
- Discovery agent — scrapes lab pages and publication databases.
- Relevance scorer — matches candidates against a researcher's stated interests.
- Drafting agent — writes personalized first-contact emails that cite specific papers.
- Hand-offs through a shared memory — the drafting agent references exactly what the discovery agent found.
- No lost context, no generic templates — every outreach email is grounded in specific work.