Projects

# Things I've built, broken, and rebuilt

01

BearBot — Campus AI Assistant

RAG-based chatbot that answers questions about UC Berkeley courses, enrollment deadlines, and campus resources. Built with LlamaIndex for retrieval, GPT-4o for generation, and Netlify for serverless deployment. Used by 400+ students during pilot.

PythonLlamaIndexOpenAIReactNetlify
02

BearViz — Course Grade Distribution Explorer

Interactive data visualization tool that aggregates 8 years of UC Berkeley grade distributions (2M+ records). Built with D3.js and a FastAPI backend, it lets students compare grade curves across departments, instructors, and semesters before enrollment.

PythonFastAPID3.jsPostgreSQLTypeScript
03

SentimentScope — Real-Time Review Analyzer

End-to-end NLP pipeline that fine-tunes a DistilBERT model on Amazon product reviews and serves real-time sentiment analysis via a streaming API. Processes 2,000 reviews/second with 91.4% accuracy on held-out test data. Includes a live demo UI.

PyTorchHuggingFaceFastAPIReactDocker
04

TinyKV — Distributed Key-Value Store

A fault-tolerant distributed key-value store built from scratch in Go, implementing the Raft consensus protocol. Supports linearizable reads and writes, leader election, log compaction via snapshotting, and cluster membership changes.

GoRaftDistributed SystemsgRPC