Symaedchit Octavius Leo

Computer Engineering (Michigan State University, Dec 2025, GPA 3.31) - Robotics/Simulation/Test + AI/ML

Currently: Associate (Java Full Stack Developer), Revature, Jun 2026–present

Computer engineer who builds simulation, test and autonomy software and evaluated ML systems: a ROS 2/Nav2 fault-injection harness, an Unreal Engine sensor simulator on ROS 2, GPU-parallel RL, LLM fine-tuning and serving, grounded RAG and agent prompt-injection benchmarks.

Falls Church, VA · Open to relocate U.S. Citizen

Resumes

Two track-specific 2026 resumes. View in-browser or download the PDF.

Robotics / Simulation / Test Resume

Robotics

ROS 2/Nav2 fault-injection harness, Unreal Engine sensor simulator on ROS 2, GPU-parallel RL, embedded C (senior design).

AI / ML Resume

AI/ML

LLM fine-tuning, quantization and serving, grounded RAG with citation validation, agent prompt-injection benchmarks, GPU-parallel RL.

Featured Projects

Built with an AI coding agent under spec-driven development; every number below comes from a seeded script in the repository. Earlier projects (RAG-Lite, 2D perception + control, CartPole PPO and more) are on my GitHub.

Robotics, simulation and test

Autonomy Test Harness

Robotics + Test

Scenario-based test system for Nav2 on TurtleBot 4: seeded scenario generator, lidar fault injector (noise, dropout, latency, freeze, sector blackout) and a ground-truth-only oracle.

Stack: ROS 2 Jazzy, Nav2, Gazebo Harmonic, Docker, Jenkins, Python
Result: 210 headless runs (30 scenarios × 7 conditions): Nav2 passed 100% unfaulted, 80% under sector blackout, 0% under scan dropout or freeze
Unreal Engine rover driving its waypoint route

Sensor Sim Sandbox

Simulation

Drivable Unreal Engine 5.8 rover whose lidar, camera, IMU and GPS share a seeded noise/dropout/latency pipeline and stream to ROS 2 Jazzy over rosbridge.

Stack: Unreal Engine 5.8 (C++), ROS 2 Jazzy, rosbridge, Python
Result: measured lidar std 0.0200 m vs 0.02 m configured; 33 Unreal automation tests
ONNX policy robot racing a scripted robot in the Unreal Engine game

Learned Opponents

RL + Sim-to-Sim

PPO navigation policies trained in 4,096 GPU-parallel MuJoCo Warp arenas, baseline vs. domain-randomized, then exported to ONNX and run as the opponent in an Unreal Engine 5.8 game.

Stack: Python, PyTorch, MuJoCo Warp, rsl-rl PPO, ONNX, Unreal Engine 5.8 (C++)
Result: with 4 control steps (200 ms) of latency on both action and observation, 0.131 success (baseline) vs 0.896 (randomized)

AI / ML

Streamed answers with citations, and a refusal

Grounded QA Service

RAG + Eval

RAG service that answers only from retrieved passages, validates every sentence's citation and refuses below a confidence threshold tuned on a held-out split.

Stack: Python, FastAPI, Granite on Ollama, cross-encoder reranking, Docker
Result: Recall@5 0.847 → 0.957 with hybrid retrieval + reranking (150 answerable SQuAD v2 questions)
Sweep validation F1 and test F1 with confidence intervals

Fine-Tune and Serve

LLM + Serving

LoRA fine-tune of Qwen2.5-1.5B-Instruct for intent-and-slot extraction on MASSIVE, quantized to GGUF and served behind an OpenAI-compatible llama-server endpoint.

Stack: Python, PyTorch, Hugging Face PEFT (LoRA), llama.cpp, Docker
Result: field-level F1 0.850 ± 0.002 (3 seeds) vs 0.358 few-shot base; Q4_K_M F1 0.846; peak whole-GPU memory 4859 → 2617 MiB
Task-success cost of each defense

Agent Injection Bench

LLM Security

Reproducible benchmark of how often tool-using LLM agents follow instructions planted in tool outputs, and what each defense costs: 40 AgentDojo tasks, up to 5 injection styles, 4 defenses, 3 models.

Stack: Python, AgentDojo, llama.cpp, OpenAI API, DeBERTa classifier
Result: 7,200 cases (hosted model: 2 of 5 styles): a DeBERTa injection filter cost 26.5 to 56.2 points of task success for at most a 2.3-point drop in attack success

Senior design

Analog front-end schematic

EMG Arm-Wrestling Game System

Embedded + Signal

Sole software member of a four-person Texas Instruments-sponsored senior design team (Fall 2025): wrote the TM4C123 C firmware: ADS131M02 SPI ADC driver, SSD1351 OLED graphics, menus and four game modes, and a baseline-corrected EMG measure.

Stack: C, TI Tiva C (TM4C123) microcontroller, Code Composer Studio, OLED UI

About

I build simulation, test and autonomy software for robots, and ML systems that are measured end to end. I learned to code through games and have followed AI/ML since well before the current LLM wave. This page is kept minimal so you can get straight to the repos, demos and resumes.

  • Seeking: Robotics, simulation and test roles; AI/ML engineering roles.
  • Robotics/Sim: ROS 2 Jazzy - Nav2 - Gazebo Harmonic - Unreal Engine 5.8 - MuJoCo Warp
  • AI/ML: PyTorch - PEFT/LoRA - llama.cpp - retrieval + evaluation - PPO
  • Embedded: TI Tiva C (TM4C123) - SPI ADC and OLED drivers - Code Composer Studio