Master of Software Engineering (MSE-SS) student at Carnegie Mellon University, School of Computer Science; UC San Diego math, computer science, and linguistics grad — building web apps, LLM systems, and the hardware they run on outside of coursework.

Software, Systems & Hardware Projects

This is where I write up projects I build outside of coursework: software engineering first, with hardware and firmware experiments alongside.

Recently: a full-stack build on Next.js and Solana that won 1st place out of 168 teams at HackCMU, a KV cache reuse patch for the Rust inference engine mistral.rs, and an extraction benchmark of four local LLMs, the last two on an inference server I built from secondhand GPUs.

Software, Systems and ML

HKN Member Portal screenshot

HKN Member Portal

Member portal for UCSD's HKN chapter with about 2,300 monthly users. A Django REST Framework API serves a Svelte and Tailwind single-page app for events, induction, outreach hours and interview scheduling, with email through Amazon SES and Google Sheets sync. Pushes to master deploy to AWS EC2 through GitHub Actions.

Django REST Svelte Tailwind AWS
FoodTrace verify page for a demo batch of organic tomatoes

FoodTrace

1st place out of 168 teams at HackCMU. Farm-to-shelf provenance where each batch is a Solana NFT, stations prove presence with rotating HMAC QR codes, and anyone can re-hash photos against the chain.

Next.js Solana Cloudflare
Schematic: a field-solver mesh with two coupled conductors feeding a PyTorch MLP that predicts in 0.5 microseconds within 0.14%

ML Surrogates for Interconnect Parasitics

A 2D finite-volume capacitance field solver in C++17 generates 4,292 labeled geometries, then a PyTorch MLP predicts line capacitance within 0.14% of the solver on held-out tests — replacing a ~1.8 s solve with a 0.5 µs prediction — and holds under 1% just outside the training range, where an XGBoost baseline drifts past 20%.

C++17 OpenMP PyTorch XGBoost
Bar chart of time to first token on a 15.6k-token Gemma 4 E4B prompt: llama.cpp cold 85 s, mistral.rs cold 54.4 s, mistral.rs cached 0.27 s

kvsnap: mistral.rs vs llama.cpp

Gemma 4 time to first token from 54 s to 0.27 s on my X99 inference server, with a 17-line KV cache snapshot patch to mistral.rs.

Rust mistral.rs llama.cpp
Bar chart of extraction precision: Gemma 4 E4B 95%, Qwen3.5 4B 83%, Qwen3 8B 63%, Qwen2.5 3B 43%

Four Small LLMs on One 8GB Card

Gemma 4 E4B and three Qwen models on schema-constrained extraction over 78 hand-labeled documents, run on the X99 server’s CMP 40HX. Gemma led at 95% precision.

Ollama Gemma 4 Qwen
AS Office of Student Organizations funding site

AS Funding Chatbot

Retrieval augmented chatbot using Pinecone and LangGraph for retrieval and GPT-4 for generation, built for Senate funding and reporting questions.

Pinecone LangGraph GPT4
Course Planner chat and completed-courses UI

Course Planner

LLM-powered course planning assistant for UCSD students, using Neo4j and FAISS for retrieval to help map out class schedules based on major requirements.

Neo4j FAISS
COGS 118A final project paper title page

GPU-Accelerated Empirical ML Replication

Jupyter Notebook project comparing CuML (RAPIDS GPU-accelerated ML) against standard CPU implementations, run on A30 and V100 GPUs through UCSD's Datahub, with data compressed as tar.xz to fit storage quotas and results visualized across several notebooks.

CuML RAPIDS CUDA
HMM speech recognition and fruit classification paper title page

HMM Word Classifier

Linguistics 168 (Computational Speech Processing) project using Hidden Markov Models to classify fruit names from audio pronunciation, using librosa for audio processing.

Python librosa HMM

GPU Repair Chronicles

Intel Arc cards I’ve brought back or fixed up: SPI firmware dumps and reflashes, GSC firmware recovery, and a thermal pad swap. Photos from other repairs are from the bench.

Flashrom terminal session next to a disassembled Arc B580

Intel Arc B580: The nuclear option(flash and dump)

Device Manager showing Arc B580 in recovery mode

Intel Arc B580: More GSC firmware recovery through igsc

Close-up of Arc B580 board components

Intel Arc B580: GSC firmware recovery and xe bring-up issues

Thermal pad close-up on Arc B570 heatsink

Intel Arc B570: Thermal Pads