Selected projects in AI, reinforcement learning, and systems programming.
AI-powered Gomoku with AlphaZero self-play and real-time multiplayer. Extended beyond the course requirement with self-play training and production deployment.
- Trained an AlphaZero agent using PyTorch with MCTS self-play, scaling across four parallelism backends from sequential to Ray-distributed for near-production training.
- Built a C++ Minimax engine with alpha-beta pruning, principal variation search, iterative deepening, transposition tables, and killer move heuristics for real-time move computation.
- Deployed on Google Cloud with Docker and Cloudflare Workers routing. Built a Nuxt 3 frontend with real-time WebSocket gameplay and move evaluation.
Python · PyTorch · C++ · pybind11 · Docker · Google Cloud
Kernel from Scratch — bootable x86 kernel built from the ground up with a freestanding libc and a reproducible toolchain.
- Built a bootable x86 kernel from scratch with interrupt handling, terminal output, and a freestanding libc, running under QEMU.
- Implemented the libc alongside the kernel without external dependencies — string utilities, memory primitives, core I/O.
- Set up the full toolchain pipeline: cross-compilation, ISO generation, and build/run scripts for reproducible kernel development.
C · x86 ASM · QEMU · Linker scripts · Cross-compilation
DQN reinforcement learning agent that learns to play Snake.
- Built a DQN agent with a 24-dimensional relative state representation encoding wall, food, and body distances in four directional axes from the snake's heading.
- Designed multi-signal reward shaping with proximity incentives, BFS-based trap detection, and starvation penalties. Fully YAML-configurable with checkpoint persistence.
Python · PyTorch · DQN · YAML
multilayer-perceptron
Jan. 24
Neural network built from scratch - no framework, manual backpropagation.
- Implemented a multilayer perceptron from scratch using NumPy with manual backpropagation, four gradient descent optimizers (SGD, Adam, Adagrad, RMSProp), and numerically stable softmax with cross-entropy loss.
- Applied He initialization, mini-batch training, and early stopping for breast cancer classification on the WDBC dataset with model checkpoint persistence.
Python · NumPy
with Teo Fleming
Binary exploitation track — eight levels plus four bonuses of x86 stack and heap exploitation, with per-level walkthroughs.
x86 · GDB · Ghidra · ELF · Linux
with Teo Fleming
Advanced binary exploitation — ten levels of pwn challenges including heap exploitation and modern protection bypasses.
x86_64 · GDB · Ghidra · Heap exploitation · Linux
with Christie Boutier
Remote infrastructure provisioning with Ansible, Docker Compose, TLS, and restart-on-boot automation.
Ansible · Docker Compose · Nginx · MariaDB · systemd
Linux kernel module development — ten assignments covering kernel-space programming, loadable modules, and driver fundamentals.
C · Linux kernel · kbuild · QEMU
RFC 7230-7235 compliant HTTP/1.1 server with multiplexing and CGI support.
C++ · HTTP · POSIX
Wargame-style CTF — fourteen levels spanning Linux misconfiguration, basic reversing, weak-credential discovery, and intro web vulnerabilities.
Linux · Bash · GDB · Web · Crypto basics
Multi-service Kubernetes cluster with monitoring, TLS, and automated failover.
Docker · Kubernetes · Grafana
with Aslan Malsagov
BGP-EVPN with VXLAN — multi-stage networking lab simulating a datacenter fabric in GNS3 with Docker nodes.
BGP · VXLAN · EVPN · GNS3 · Docker
with Woolim Park
Turing machine interpreter with tape visualization and complexity analysis.
OCaml · Formal CS
with Jungmoo Cheon
Logistic regression classifier with exploratory data analysis and visualization pipeline.
Python · Pandas · Matplotlib