Work

Products, open-source tools, research, and selected coursework.

Products

H1B Compass

Built during H1B lottery season when I needed to find eligible worksites — but the official DOL website offers no useful filtering. Enter your salary, job category, and wage level: the map instantly highlights which metro areas qualify, colored by your wage surplus. Add a drive-zone filter to narrow results to areas within a given radius of any city.

Next.jsReactLeafletTailwindVercel

InkWeave

Every AI meeting tool follows the same pattern: transcript → summary. InkWeave is different — your notes capture your thinking, the transcript fills the gaps, and Claude synthesizes them into a structured document that reflects how you reason. Built for bilingual (Chinese + English) meetings, with real-time transcription, speaker diarization, 10+ output templates, and cross-meeting Q&A.

Next.jsFastAPIWhisperClaudeVditorDocker

Scam AI

Multiple complete redesigns chasing one goal: a landing page that doesn't look like every other AI startup. Experiments with Bento grids, dark hero sections, newsletter CMS, problem-first narrative, and hero video — learning what actually converts versus what just looks good in Figma.

Next.jsTailwindFramer MotionNeonVercel

AI AP Manager

End-to-end AP automation: invoice ingestion, OCR extraction, 2/3/4-way PO matching, exception handling, and approval workflows. A deterministic rule engine owns every approve/reject decision — Claude handles OCR correction, policy parsing, and exception narration.

FastAPINext.jsClaudePostgreSQLDocker

MealMates

A social platform connecting people through shared meals. Features collaborative meal planning, recipe sharing, and real-time updates built on a modern monorepo stack — React Native (Expo) for mobile, Next.js for web, tRPC for typesafe APIs end-to-end.

TurborepotRPCExpoDrizzleSupabase

Open Source

LocalConvert

A private, local-first converter for everyday image, PDF, video, and audio tasks. Files are processed on the device — there is no upload endpoint, account wall, or misleading download button.

Next.jsWebAssemblyFFmpegCanvaspdf-lib

Clade

Hooks, agents, skills, a safety guardian, and a correction learning loop — all working together so Claude codes better, catches its own mistakes, and can run unattended overnight.

ShellTypeScriptClaude CodeNext.js

LocalRAG

A fully local RAG system with a "memo-first" strategy — when an authoritative memo conflicts with other documents, the system prioritizes it. Chain-of-thought prompting guides the LLM through conflict resolution. Runs on Ollama with ChromaDB vector search; no data leaves the device.

PythonLangChainChromaDBOllama

RTVis

Research Trend Visualization toolkit: upload an academic dataset and explore author co-occurrence networks, citation bar charts, word frequency races, and field theme rivers. Helps researchers orient in a new field before starting a project. Open-source with Docker deploy.

PythonPlotlyPandasDocker

Research

Optical DSP Research

An investment-oriented technical study of data-center optical DSPs, backed by a reproducible PAM4 receiver lab. The public artifact visualizes bandwidth loss, jitter, FFE/DFE gains, clock recovery, and independently validated Keysight PRBS9Q data — while marking exactly what the experiment cannot prove about silicon.

PythonSignal ProcessingPAM4Data Visualization

VoxBlink CN

Contributed to building a large-scale Chinese audio-visual speaker recognition dataset. Developed data collection pipelines and quality assurance tools for processing thousands of hours of video.

PythonFFmpegData PipelinesComputer Vision

CDN Multi-Metric Selection

Duke research project: demonstrates that combining RTT, TTFB, and packet loss in a lightweight composite score consistently improves CDN server selection over RTT-only baselines. Validated on RIPE Atlas and M-Lab real-world datasets.

PythonRIPE AtlasM-Labscikit-learn

Coursework

FactorySIM

A factory builder game: place mines, factories, storage facilities, and drone ports, connect them with paths, and watch resources flow. Built as a Duke course project with a CLI core, libGDX GUI client, and server-backed save/load.

JavalibGDXGradleClient-Server