I.Self-Play RL PvP Agent
2026·Python · PyTorch · PPO · Self-Play RL · NumPy
A Minecraft 1.8 sword-duelling agent trained with self-play PPO that plays the real game through pixels — screen capture in, synthetic mouse and keyboard out, no mod or game API in the loop. A vectorised NumPy rebuild of 1.8 movement and melee runs 2.44M environment steps per second across 4,096 parallel duels, training the policy for 99B steps. At runtime a CNN reads the screen and a GRU policy decides in 0.5 ms, inside the game's 50 ms tick. Built and trained on a single laptop.
Visit the project↗II.Real-time Motion Analytics
2025·Python · PyTorch · MediaPipe · AWS Lambda · WebSocket
Backend and ML pipeline for a real-time dance-analysis product at a stealth-stage UK startup. A causal Transformer on 3D pose data scores movement per frame and powers live coaching feedback at 93%+ accuracy, deployed through MediaPipe, WebSockets, and AWS Lambda for real-time delivery.
My contributionDesigned and built the ML pipeline and backend services — from the causal Transformer architecture and pose representation through the serverless inference path and WebSocket delivery layer.
III.AutoRecycle
2023·Python · PyTorch · Vision Transformers · Raspberry Pi
A physical trash can with a built-in camera that classifies and sorts waste in real time using a DINO-pretrained ViT ensembled with a Swin Transformer, trained on the RealWaste dataset across nine waste categories. Achieved 95.5% multi-class and 98.7% binary recyclability accuracy. Built for a high-school NeurIPS competition.
My contributionBuilt the entire AI and software stack — the ViT + Swin Transformer ensemble, training pipeline, real-time classification, and control software. Teammates handled the physical Raspberry Pi build, camera rig, servo, and ultrasonic sensor.
Visit the project↗IV.MAIF Backtesting Framework
2025·Python · Pandas · NumPy · Optuna · yfinance · Alpaca · CCXT
A standardised plug-and-play framework for the Minutemen Alternative Investment Fund at UMass. Provides a unified pipeline for testing trading strategies across historical data, Monte Carlo simulations, and multiple data providers, catching overfitting through GBM and GAN-generated stress tests. Dual backtesting engines (bar-based and event-driven), Optuna parameter optimisation, and standardised HTML scorecards.
My contributionShipped the initial framework — the bar backtester, four-page scorecard generator, synthetic-data stress-test module, Optuna optimisation layer, and all ten data-provider integrations (Yahoo, Alpaca, Polygon, Tiingo, Finnhub, Alpha Vantage, Twelve Data, MarketStack, Stooq, FMP).
Visit the project↗V.Razorbill
2026·C++ · Zig · LLM Tool-Calling · Jolt Physics · Python
An AI-native 3D creation engine that lets anyone go from idea to playable experience in minutes. You describe a mechanic, a level, or a character behaviour, and an LLM agent builds the working project — scenes, scripts, prefabs, and interactive logic — by driving the engine through a tool interface.
My contributionBuilt the LLM orchestration layer that turns a prompt into a working project — a custom CLI exposed to the model as its tool interface, with context caching and model routing across calls. Also built the text-to-3D asset generator, procedural terrain, the animation and particle systems, Jolt physics tuning, and combat with navmesh-pathfinding enemy AI.
Visit the project↗VI.Health + Wealth
2025·Swift · SwiftUI · llama.cpp · Metal · Gemma 3 1B
A solo-built app pairing fitness and personal-finance tracking with an on-device AI coach — fully offline, zero network calls, all user data stays on the phone. It runs a custom on-device LLM serving stack for Gemma 3 1B (4-bit quantized GGUF) on llama.cpp + Metal — prompt templating, per-task sampling, a safety pre-screen, and thermal-aware token budgeting — and a structured workout generator and cross-domain health/finance coach grounded in the user's own data. Free, no subscriptions, no ads. Live on the App Store.
Visit the project↗