VS
04 / 06Selected work

Things I have designed, built, and shipped.

Autonomous agents, evaluation and causal-inference pipelines, language models built from scratch, and full-stack products. Most are live and open source, and one is running in production at UW.

All projects10
01

Vegapunk

Autonomous AI code agent

Give it a GitHub issue URL and it gives you back a pull request. A seven-node LangGraph pipeline clones the repo, classifies the issue, plans the fix, writes the code, runs the tests, self-reviews its own diff, and opens the PR — streaming every step to a live trace UI over Server-Sent Events.

Two mechanics carry it. A tree-sitter code graph ranked by keyword overlap blended with PageRank lifted bug-file localization to 83%, and a Best-of-N coder generates K candidate diffs in parallel, tests each in its own isolated git worktree, and keeps the one that passes. It also ships an MCP server, so Claude Code, Cursor, and Cline can query the repo graph directly.

  • LangGraph
  • FastAPI
  • Next.js
  • tree-sitter
  • MCP
  • Docker
02

AgentGate

Statistical CI gate for LLM agents · Open source

Your agent scored 79% this week and 100% last week. Did you break it, or did it have a bad day? AgentGate answers with statistics instead of a guess: paired non-inferiority tests, cluster-robust standard errors, and Benjamini–Hochberg correction across 42 metrics, which cut false regression alarms from about 87% to 5%.

The verdict no threshold rule can give is UNDERPOWERED — reported with the minimum effect the suite could actually have detected, so a small test set gets an honest answer instead of a fake green tick. Benchmarking two open models across 666 runs and 4.5M tokens on τ²-bench exposed a 9× gap between how coherent a model sounds (0.99) and how often it finishes the job (0.11).

  • Python
  • SciPy
  • LiteLLM
  • DuckDB
  • OpenTelemetry
  • LLM Evals
03

NanoScale-LM

A language model built from scratch, then compressed

A decoder-only language model written from first principles in PyTorch — byte-level BPE, GQA, RoPE, QK-norm, SwiGLU, and Muon's Newton–Schulz orthogonalization — plus the full efficiency stack needed to actually serve it: distillation, GPTQ quantization, and speculative decoding. No high-level trainer library appears anywhere in the source.

Every claim is a measurement from a committed script, stamped with the git SHA and hardware behind it: Muon reaching the target in 53 steps against AdamW's 106 across five seeds, distillation shrinking the model 17.7×, and speculative decoding cutting target forward passes 3× with the output distribution provably unchanged. The results that went the wrong way are written up too.

  • PyTorch
  • Transformers
  • Quantization
  • Distillation
  • mypy --strict
04

Uplift Retention

Causal uplift modeling for retention targeting

Ranking customers by who is likely to buy puts the people you cannot influence at the top. This pipeline estimates the effect of contacting each person instead — five CATE estimators (S, T, X, and DR learners against a response-model baseline) scored by Qini and validated against synthetic data where every customer's true effect is known.

The finding that reframes it: on a real 64,000-customer randomized email campaign the right answer is to contact almost everyone, because an email is nearly free. So the pipeline computes the number that does matter — how expensive an intervention has to get before targeting changes the decision — and an eight-page Streamlit app puts the two assumptions behind sliders.

  • Python
  • Causal Inference
  • scikit-learn
  • MLflow
  • Streamlit
  • Docker
05In progress

Open IRE

Open-access research pipeline · UW Libraries × SSEC

An initiative I am building with UW Libraries and the Scientific Software Engineering Center. It automatically collects, rights-classifies, and preserves close to 400,000 scholarly articles written by UW researchers in the ResearchWorks repository, designed as a model other universities can adopt. I own the database schema and system architecture.

The pipeline pulls publications scattered across federal repositories like PubMed Central and ERIC, sorts each one by rights status (covered by UW's open-access policy, Creative Commons, or needs review), and has ingested more than 50,000 articles so far — including 6,800 recovered by custom retry middleware after a scraping failure, all guarded by a 295-test end-to-end suite.

  • Python
  • PostgreSQL
  • Pixi
  • Data Pipelines
  • Pytest
06

ResolveIQ

AI incident knowledge management · Dempsey finalist

An event-driven microservices platform so engineering teams never solve the same incident twice. It turns resolved Jira tickets into clean Confluence knowledge-base articles by pulling in the surrounding Slack and Zoom context, removing about 90% of the manual write-up work.

A semantic retrieval engine built on Voyage AI embeddings, Pinecone vector search, and GPT-4o surfaces the right article inline in Jira, cutting mean time to resolution for recurring issues by an estimated 30%.

  • LangChain
  • FastAPI
  • Pinecone
  • GPT-4o
  • Next.js
  • Django
07

Atlas

Agentic student success portal · iEngage runner-up

A single portal for students, driven by a Gemini 2.5 agent with Salesforce integration and a RAG knowledge base. The chat interface renders live widgets for different campus services as you ask for them.

  • React
  • Django
  • Gemini
  • Salesforce
  • RAG
08

Marcus

AI campus marketplace · UW AIMS runner-up

A trust-first marketplace built only for verified .edu students. Trust is made portable through scannable Trust QR codes, and GPT-powered fair-pricing analysis protects both buyers and sellers.

  • Next.js
  • Django
  • OpenAI GPT-4o
  • PostgreSQL
09

Lumina

AI-enhanced e-commerce platform

A full-stack store with NLP sentiment analysis on reviews, TF-IDF product recommendations, personalized home feeds, Stripe checkout, Redis-backed carts, and a multi-role admin dashboard.

  • Next.js
  • FastAPI
  • Redis
  • Stripe
  • NLP
10

FarmFit

Smart precision farming platform · IEEE ACROSET 2025

An IoT and machine learning platform that adjusts watering and fertilization from live sensor data, improving irrigation efficiency by 26% and lifting crop yield by 11%.

A predictive fertilizer-recommendation model served through Django on AWS, paired with a React Native dashboard for live monitoring and remote control. Published at IEEE ACROSET 2025.

  • TensorFlow
  • Django
  • React Native
  • AWS
  • IoT

More experiments and smaller builds live on my GitHub.

View GitHub