skip to content
Jordan Madison

Research

Georgia Tech

Reasoning and Learning Group · CreSTAL

Atlanta, GA

Apr. 2025 – Present

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.

View the code on GitHub → Read related writing →

Georgia Tech

CPSec: Cyber-Physical Systems Security Lab

Atlanta, GA

Apr. 2025 – Present

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.

View the code on GitHub →

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: core environment (SAT, SymPy, Z3) feeding a feedback/representation layer and shared encoder, driving RL agents (DQN, PPO, GNN, CTDE) with external oracles, proofs, and experiment orchestration.
SymbolicGym architecture: unified RL platform for symbolic reasoning.

View the code on GitHub →

Cartographer

Apr. 2025 - Apr. 2025

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.

View the code on GitHub →

Skills

Languages

Assembly (x86), C, Python, Java, TypeScript

Symbolic Reasoning

Z3, SymPy, Minisat, RLSF

AI infrastructure

Hugging Face, vLLM, TRL, LoRA, Slurm HPC, Docker, AWS CDK

Libraries

PyTorch, Pandas, NumPy, Node.js

Tools

ArduPilot, Censys, Git, IDA Pro, Shodan

Writing Experience Resume Email