Skip to content
View OctaviusLeo's full-sized avatar
🔓
#jacked in
🔓
#jacked in

Block or report OctaviusLeo

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
OctaviusLeo/README.md

Symaedchit Octavius Leo

Computer engineer (Michigan State, B.S. CompE, Dec 2025) building robotics simulation, test and autonomy software and evaluated ML systems: LLM fine-tuning and serving, grounded RAG, agent prompt-injection benchmarks and GPU-parallel RL.

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

Links: Portfolio | Resumes | LinkedIn | Email | Handshake | LeetCode

Portfolio projects (2026)

Built with an AI coding agent under spec-driven development; every number below comes from a seeded script in the repository.

Robotics, simulation and test

Project What it is Headline result
Autonomy Test Harness
ROS 2 Jazzy, Nav2, Gazebo Harmonic, Docker, Jenkins
Scenario-based test system for Nav2 on TurtleBot 4: seeded scenario generator, lidar fault injector, ground-truth-only oracle 210 headless runs (30 scenarios × 7 conditions): Nav2 passed 100% unfaulted, 80% under sector blackout, 0% under scan dropout or freeze
Sensor Sim Sandbox
Unreal Engine 5.8 (C++), ROS 2 Jazzy, rosbridge, Python
Drivable UE 5.8 rover whose lidar, camera, IMU and GPS share a seeded noise/dropout/latency pipeline and stream to ROS 2 Measured lidar std 0.0200 m vs 0.02 m configured; 33 Unreal automation tests
Learned Opponents
PyTorch, MuJoCo Warp, rsl-rl PPO, ONNX, Unreal Engine 5.8
PPO navigation policies trained in 4,096 GPU-parallel arenas, exported to ONNX and run as the opponent in a UE 5.8 game With 4 control steps (200 ms) of latency on both action and observation: 0.131 success (baseline) vs 0.896 (domain-randomized)

AI / ML

Project What it is Headline result
Grounded QA Service
FastAPI, Granite on Ollama, cross-encoder reranking, Docker
RAG service that answers only from retrieved passages, validates every citation and refuses below a tuned confidence threshold Recall@5 0.847 → 0.957 with hybrid retrieval + reranking (150 answerable SQuAD v2 questions)
Fine-Tune and Serve
PyTorch, PEFT (LoRA), llama.cpp, Docker
LoRA fine-tune of Qwen2.5-1.5B-Instruct for intent-and-slot extraction, quantized to GGUF and served behind an OpenAI-compatible endpoint Field-level F1 0.850 ± 0.002 (3 seeds) vs 0.358 few-shot base; Q4_K_M keeps F1 0.846; peak whole-GPU memory 4859 → 2617 MiB
Agent Injection Bench
AgentDojo, llama.cpp, OpenAI API, DeBERTa
Reproducible benchmark of how often tool-using LLM agents follow instructions planted in tool outputs, and what each defense costs 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: EMG arm-wrestling game system

ECE-480-Team-12-TI-EMG-AWS · C, TI Tiva C (TM4C123) · demo video

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.

Earlier projects

  • rag-lite-tfidf-eval: retrieval library (TF-IDF/BM25/embeddings, optional reranking) with IR metrics; Grounded QA Service builds on it
  • robotics-2d-perception-control: 2D differential-drive sim with an OpenCV perception pipeline, closed-loop controller and state machine
  • ai-sim-rl-cartpole: PPO on CartPole with multi-seed evaluation and CI
  • cse482-reddit-events: Reddit event detection and extractive summarization with ROUGE evaluation
  • roblox-ai-game-repo: Lua NPC chat backed by an external LLM, with text filtering and rate limiting

Skills

  • Languages: Python, C++, C, Java, SQL, TypeScript, MATLAB, Lua
  • Robotics & simulation: ROS 2 Jazzy, Nav2, Gazebo Harmonic, rosbridge, Unreal Engine 5.8, MuJoCo Warp, OpenCV
  • ML & LLMs: PyTorch, Hugging Face Transformers, PEFT/LoRA, llama.cpp, GGUF, Ollama, ONNX Runtime, PPO (rsl-rl, Stable-Baselines3), domain randomization
  • Evaluation: hybrid retrieval, cross-encoder reranking, Recall@K, nDCG, F1, bootstrap CIs, LLM-as-judge
  • Embedded: TI Tiva C (TM4C123), Code Composer Studio, sEMG acquisition and signal features
  • Testing & CI/CD: pytest, Hypothesis, Unreal Automation, JUnit 5, Cucumber, Jenkins, GitHub Actions, Docker
  • Engineering: FastAPI, Spring Boot, GraphQL, MongoDB, Kubernetes, AWS

Education

  • Michigan State University: B.S. Computer Engineering, Dec 2025 (GPA 3.31/4.0)
  • Kalamazoo Valley Community College: A.S. Chemical Physics, Apr 2023 (GPA 3.94/4.0)

Pinned Loading

  1. Autonomy-Test-Harness Autonomy-Test-Harness Public

    Scenario-based fault-injection testing for ROS 2 Nav2 on TurtleBot 4 in Gazebo: seeded scenario generator, lidar fault injector, ground-truth oracle, paired experiment with Wilson CIs, headless Doc…

    Python

  2. Grounded-QA-Service Grounded-QA-Service Public

    RAG question-answering service that answers only from retrieved passages, checks every sentence's citation, refuses when unsure, and measures itself: Granite on Ollama, hybrid retrieval with cross-…

    Python

  3. Sensor-Sim-Sandbox Sensor-Sim-Sandbox Public

    Unreal Engine 5.8 rover with seeded lidar, camera, IMU and GPS models streaming to ROS 2 Jazzy over rosbridge, plus a Python analysis that checks each sensor's measured noise, dropout, latency and …

    C++

  4. Finetune-And-Serve Finetune-And-Serve Public

    LoRA fine-tune of Qwen2.5-1.5B-Instruct for intent-and-slot JSON on MASSIVE (F1 0.85 vs 0.36 few-shot base), quantized to GGUF Q4_K_M with llama.cpp, served via an OpenAI-compatible llama-server an…

    Python

  5. Learned-Opponents Learned-Opponents Public

    PPO navigation policies for a differential-drive robot, trained in 4,096 GPU-parallel MuJoCo Warp arenas (baseline vs domain-randomized), tested for robustness, exported to ONNX and raced as the op…

    Python

  6. Agent-Injection-Bench Agent-Injection-Bench Public

    Reproducible benchmark of indirect prompt injection against tool-using LLM agents (AgentDojo; local Qwen via llama.cpp and a hosted OpenAI model), measuring attack success and the task-success cost…

    Python