Projects
Research comes first, then software and experiments, then class projects. When a project was a team's, the page tells the whole story and says which part was mine.
Research

Sep 2026 – Present
AquaSpectra
Getting AquaMesh's in-water optical sensor ready for research use: its software, calibration and tuning.

Sep 2025 – Present
Endoscopic Navigation
Getting a robotic endoscope to find its own way through the kidney, using a map of the kidney from the patient's CT scan.

Apr 2026 – Jun 2026
Active Perception for Geolocation
An AI agent that plays GeoGuessr by choosing where to look next in live Street View.

Aug 2024 – Oct 2025
Radio Telemetry Tracker
Finding radio-tagged wildlife from a drone instead of on foot, for the San Diego Zoo Wildlife Alliance.

Apr 2025 – Jun 2025
FollowMe Robot
Bluetooth direction finding so a Boston Dynamics Spot can keep following a person after its camera loses them.

Jan 2023 – Dec 2024
Baboons on the Move
Detecting and tracking baboons in drone footage so researchers can study how a troop moves.
Software & experiments

Mar 2026 – Present
Jackdaw
A copy of the game Balatro for reinforcement learning, checked move by move against the real game, and a hosted leaderboard for the agents trained on it.

Dec 2025 – Present
This Website and CV
My site, my CV and my LinkedIn and GitHub text, all built from one YAML file, with checks that keep them saying the same thing.

Sep 2025 – Present
Lycanworks
My one-person studio that sells avatar bases for VRChat, with my own release tooling and storefront.

Mar 2026 – Oct 2026
Tasque
A self-hosted platform that ran AI agents as scheduled jobs, which I built by directing coding agents to find out what they can and can't build.

Apr 2026 – Sep 2026
autopilot-mcp
A browser for AI agents: a profile for every site, logins filled from my password vault without the agent ever seeing a password, and playbooks it can replay.

Apr 2026
Papyrus
A research assistant for academic papers: upload PDFs, ask questions, and get answers from Claude that cite the page they came from.

Mar 2026 – Apr 2026
Claude MCP Servers
Eight MCP servers that gave Claude 271 tools for Canvas, Gmail and Google Calendar, Fitbit and five other services.

Feb 2026
GPT from Scratch
A small GPT language model in PyTorch, following Andrej Karpathy's lecture, with my own byte-level tokenizer and training tool.

Dec 2025
Stoatix
A benchmarking CLI that runs suites from YAML, records every run, and fails CI when a change makes something slower.

Aug 2025
Ibexicon
A Wordle solver for any word length that ranks your next guess by how much it would tell you and how likely it is to win.

Jul 2024 – Sep 2024
MineCord Link
A Minecraft server plugin that links the game's chat and events to a Discord channel, downloaded 510 times.
Class projects

May 2026 – Jun 2026
Conditioned Music Generation
Filling in missing bars of a piano piece with a Transformer, the half of a four-person music-generation project that a partner and I took on.

Jan 2026 – Mar 2026
NLP from Scratch
A tokenizer and a transformer written by hand, then beam search and retrieval on pretrained models, for CSE 256.

Sep 2025 – Dec 2025
Parallel Computing
Making matrix multiply fast on one CPU core and on a GPU, then spreading a wave simulation across hundreds of cores.

Sep 2025 – Dec 2025
Graph Isomorphism Heuristic
Lining up the vertices of two graphs so as many edges as possible match, in C++, for CSE 202.

Nov 2024 – Dec 2024
Music Genre Prediction
Guessing a song's genre, out of 19, from its Spotify audio features, for a two-person CSE 158R project.