Distributed backend systems · LLM agent infrastructure · Computer vision
M.S. Computer Engineering @ Columbia
Dec 2026
B.E. ECE @ UMich-SJTU JI
I work on the unglamorous half of systems: the execution layer underneath, the part that has to stay correct when things run concurrently and for a long time. Lately that has meant LLM agents in production, and increasingly computer vision, which is where I want to go deeper.
This past summer I was a SWE intern on TikTok Trust & Safety, Algorithm Infra, on the async execution layer behind a safety-model evaluation platform. I re-architected a synchronous SSE path into MongoDB-backed durable tasks (a 15-minute ceiling became 3-hour jobs) and extended a Go DAG engine with async triggers, which is how I ended up tracking a production concurrency deadlock across parallel evaluation runs.
Now I split my time between DiyoWater (part-time lead data engineering and ML intern: a Python/DuckDB ETL pipeline with LLM enrichment for 11,000+ venues at 95%+ precision, plus a FAISS two-tower recommender on AWS) and research in Prof. Zhou Yu's lab at Columbia on evaluating conversational LLM agents.
|
Interested in
|
Looking for
|
| Project | The hard part | Stack | |
|---|---|---|---|
| 🧗 | rcri-climbing-route-recognition | Real-time climbing route ID on a Jetson Nano. Three-stage YOLOv8 pipeline (mAP50 0.825 on holds), ONNX to TensorRT FP16, 12 FPS at 5W, plus an A* beta solver. | PyTorch TensorRT Jetson |
| ⚡ | mbook | Deterministic limit order book. O(1) dense tick ladder over a preallocated slab, nothing allocated on the hot path, replay verified by a digest over the ordered fill stream. | C++17 CMake |
| 🔒 | Nightwatch (private) | Multi-agent assistant on the Claude Code SDK. Five-layer memory (procedural, working, episodic, semantic, persona), and a read-only digital twin with three-layer prompt-injection defense. | Python SQLite/FTS5 ChromaDB |
| 🧭 | cs-interview-coach | Local-first, sub-millisecond FST search over 140+ knowledge cards, with FSRS spaced repetition across five navigation views. | Rust Tauri SvelteKit |
| 🗺️ | atlas-of-wonders | Interactive travel atlas in one static HTML file: d3-geo map, per-trip diaries, venue markers recovered by running OCR over my own photos. Live. | d3-geo Vision OCR Vanilla JS |
| 🧙 | Desk Companions (private) | 3D anime desktop pets for macOS: image to mesh (Hunyuan3D), auto-rigged, animated with three.js inside a transparent always-on-top WKWebView; calendar reminders, file shelf, screen snipping from the right-click menu. | Swift three.js Hunyuan3D |
| 📮 | gmail-digest | Rules-first triage across several inboxes. The optional LLM pass must quote the email for every judgment it makes, no unsourced verdicts. | Python Discord API |
| 👤 | facial-profile-analyzer | Ten facial profile angles from a side photo, entirely in the browser, with population norms instead of surgical "ideals". Nothing is uploaded. | JS Canvas |
More on the site: a TLA+-verified distributed lock, an LLM-orchestrated quant system, a Pinyin AAC badge for ASD children on a Raspberry Pi.
Photography (Canon R6 Mark II, gallery), bouldering, mapping my trips into the atlas, and drawing pixel worlds.