Projects

Climbing Coach

Live →

A coaching assistant for climbers built from a few specialist agents. A planner figures out whether a question is about injury, training, recovery, or nutrition, hands it to the right specialist, and a coach agent turns their answers into one plan that leans cautious. It runs on LangGraph and Claude with a FastAPI backend, Docker, and Postgres on Render, and there is an eval suite in CI that has to pass before I ship anything.

Quantum Tree Generator for 0-1 Knapsack

My reproduction of the Quantum Tree Generator algorithm for the 0-1 knapsack problem (Wilkening et al., arXiv:2310.06623). I got the original C++/Python simulator building and running, then wrote my own Qiskit experiments on the amplitude-amplification step to see how the success probability moves with the number of Grover iterations, the problem size, and a small noise model.

Real-Time Traffic Analytics

Team project

A streaming pipeline over LA freeway sensor data (PEMS). Kafka feeds a PySpark Structured Streaming job that computes rolling traffic stats over time windows, plus a few scripts to measure throughput and latency as the stream grows. A four-person course project for CS532 that I worked on.

Emotionally Intelligent Chatbot

A chatbot that tries to hold context and respond with some emotional awareness. It mixes cached and retrieved memory (CAG + RAG) so it remembers earlier parts of a conversation, uses ChromaDB to pull up relevant history quickly, and runs on small fine-tuned models like GPT-4o-mini and LLaMA 3.2 1B.

OutBox

A tool for cold job outreach. It drafts a tailored email from your resume with GPT-4o, then checks every claim in the draft back against the resume so nothing gets exaggerated before it goes out. It also handles bulk CSV import, a review step, and tracking from queued to sent to replied.

Centralized Quantum Network for Multipartite Entanglement Distribution

A Julia simulation of a star-shaped quantum network, where a central node makes GHZ states and shares them out to several end nodes. It models real noise (Werner states, dephasing) and Bell-measurement failures, and over a million trials it looks at how link distance and the number of nodes affect fidelity, latency, and success rate. Longer links and more nodes push latency up and pull the other two down.

UMass Hangout

A platform for students to find each other and plan things together, built with React, Spring Boot, MySQL, Elasticsearch, and Docker. You can create groups, schedule events, search for groups (backed by Elasticsearch), manage a profile, and send calendar invites.