About

I'm an EECS student at UC Berkeley, focused on AI infrastructure and LLM serving. I work on inference scheduling, agent execution, and the data services around them. Co-author of Agents' Last Exam (NeurIPS 2026).

Experience

  • Sep – Nov 2026
    Amazon

    Software Development Engineer Intern, AI Studio

    Culver City. A unified inference and training cluster, and a zero-shot VFX background workflow that keeps spatial consistency and scene lighting.

  • May – Aug 2026
    ASML

    Software Engineering, Test Infrastructure

    Cut repetitive SQA review by 80%. Automated daily regression review, and a test-plan agent over 20+ coverage types shortened plan turnaround from 2 weeks to hours.

  • Apr – Aug 2026
    Ludus

    Co-Founder & Software Engineer, Cloud Agent Infrastructure

    Multiple agents finish the same task from shared materials, and a reviewer compares results. Sessions use git worktrees, virtualenvs, and per-process resource caps.

  • Mar – May 2026
    BAIR

    Undergraduate Research Assistant

    Expert task acquisition for Agents' Last Exam (NeurIPS 2026): 30+ domain experts and 80+ tasks.

  • Aug 2025 – Jan 2026
    University of California, San Francisco

    Software Research Assistant

    Served fixed-schema clinical extraction on one RTX A6000. Qwen3-32B with AWQ W4A16 Marlin, a cached schema prefix, and QLoRA on a 4,000+-example set.

Selected work

Agent Operations

A read-only operations console for my running agent infrastructure.

Implementation ↗
Mock Agent Operations interface showing synthetic resource series and instance data.
Mock data · illustrative onlyResource overviewExplore mock interface ↗
Resource use, with context

Compare host CPU and memory trends with runtime accounting. Collection gaps stay visible, and unavailable counters stay unavailable.

Instance-level diagnostics

Inspect each runtime’s state, resource limits, restarts and exit signals. Reconcile systemd accounting with legacy tmux sessions.

Health checks you can inspect

Follow local probe availability and p50/p95 latency to the individual recorded check. Sample counts and state changes make the result traceable.

Service reachability is measured separately from agent task success.

Metrics with a paper trail

Trace each signal to its source, definition and collection coverage. Counts use the full observation window; charts use a bounded series.

Mock data · illustrative only. The preview uses a fixed synthetic scenario; live operational metrics remain private.

mini-vLLM

A model-free serving loop you can step through, inspect and change.

Mock mini-vLLM terminal alongside physical KV blocks and the request queue.
Mock LLM · simulated computeServing terminalOpen terminal ↗
Control the serving loop

Submit requests, change token and batch budgets, then step through prefill and decode. The terminal drives the scheduler state you see.

Inspect KV block ownership

Select a request or physical block to inspect its logical-to-physical mapping. Watch blocks grow on demand and return to the pool when requests finish.

Trigger recompute preemption

Shrink the KV pool and inspect a pressure scenario. Generated tokens survive eviction; their KV is recomputed when the request resumes.

Browser teaching model · scripted tokens and simulated time. Continue with the actual CPU scheduler in the runnable notebook.

PyTorch

An upstream CELU validation fix aligning torch.compile with eager behavior, with regression tests for numerical parity, in-place mutation, and invalid inputs.

Writing