Things I’ve built
A few systems and projects, with the parts that were actually hard to get right.
An orchestrator that routes subtasks to different coding agents
At Handled AI I designed the routing layer that decided which coding agent should handle each incoming engineering ticket, splitting the work into subtasks and sending each one to whatever the work actually needed instead of defaulting everything to the same model.
The hard part
The failure mode was agents that wandered outside their lane. The loops that stayed reliable were the ones where I drew a hard boundary around what the agent was allowed to touch — file scope, tool access, and a clear handoff back to review. Loops I trusted to police themselves did not.
A triage pipeline that scores, tags, and links product feedback
Feedback came in faster than anyone could read it. The pipeline scored each piece, tagged it, and linked it to existing issues so nothing that mattered got silently dropped.
before: a duplicate verdict silently created nothing — now: it still links and counts
The hard part
The previous version treated a duplicate verdict as a reason to do nothing, which meant real signal disappeared with no record it had ever arrived. I rebuilt it so a duplicate still links and counts, and only true noise gets filtered out.
CourseFlix, a course review and scheduling platform for Vanderbilt
Course search, peer reviews, grade distributions, and schedule planning for Vanderbilt students, built with a team of five: React/Vite frontend, Express API, PostgreSQL backend, Microsoft Azure AD login.

The hard part
I stood up the repo and built the GitHub Actions CI/CD pipeline the rest of the team shipped through, then stayed on as the one merging feature PRs — including a cross-listing fix so reviews on one course correctly show up on its cross-listed sibling.
VandyCV, an LLM-backed resume builder
A team project where the model helps draft resume bullets from a user's raw experience. Next.js frontend, Flask API, PostgreSQL for storage.
The hard part
I owned the backend, the schema, and the OpenAI integration on a team of three — including prompt design and cutting both latency and token cost with response caching.
Klondike Solitaire, a production full-stack game
A full-stack card game with an authoritative server, built solo end to end: React client, Node/Express API, MongoDB for state, deployed behind nginx on AWS.

The hard part
Redesigning the data model mid-project so every move persisted as a document with before/after state bought unbounded undo and move-by-move replay for free. Separately, I found an OAuth flow that exposed client secrets in frontend code and moved token exchange server-side, and refactored batch autocomplete to sequential requests after batching broke server-side validation.
VR environments for the Wallace Lab at the Vanderbilt Kennedy Center
Built VR environments for a neuroscience lab studying attention and behavior, in Unity and C#, integrating eye tracking and binaural audio while holding a strict frame budget.