Projects
Here is an archive of some past work and side projects.
Filter by category:

Improving Latin Translation with Model Distillation and Chain-of-Thought
Implemented supervised finetuning of Qwen2.5-7B and Qwen2.5-0.5B models on GPT-4o-generated reasoning traces, distilling long chain-of-thought reasoning to improve Latin-to-English translation of morphologically rich texts. Improved Latin translation BLEU score by 18%.

Solving NYT Connections with Policy Learning over Latent Assignments
Used K-Means, Deep Q-Learning, and GRPO-finetuned Qwen2.5-1.5B-Instruct models to solve NYT Connections puzzles. RLVR-style finetuning achieved 56% accuracy, outperforming unsupervised clustering and DQN baselines by leveraging structured prompts and sparse reward feedback for improved reasoning under ambiguity.

Voice-Controlled 3D Mesh Generation
Built an interactive voice agent using AssemblyAI and ElevenLabs APIs to generate 3D assets from user descriptions in an interactive Three.js environment. Served Trellis object generation model on a cloud H100 with PyTorch, FastAPI and Websockets.

Product Categorization with Multimodal Models
Selleb is a product recommendation app where users share their purchases. I implemented a CLIP embedding pipeline using HuggingFace Transformers and FastAPI to automate product categoization and CLIP encoding in Supabase upon upload. Deployed in production on AWS EC2.

VC Hot or Not
For April Fools this year, I made a Hot or Not clone and sent it to all my founder friends; generated leaderboard of top VCs with ELO ranking.

Realtime Pose Estimation for Dance Instruction
On-device pose estimation using ml5.js BlazePose. Used predicted body coordinates to grade live dance moves against reference trajectory in an interactive p5.js webapp.

Bee Well
I often have horrible posture when I code, so I wanted to gamify neck stretching! Bee Well is SwiftUI-based neck exercise game - you are a bee collecting pollen, and you control the bee's motion by moving your head. Used Core Motion, AVFoundation, and CMHeadphoneMotionManager to turn real-time AirPods head tilt data into controller-free navigation.

co(ffee)pilot
An in-ear conversation enhancer that scrapes the internet for context about the person you're talking to and suggests what to say next. Built with Whisper, GPT-3 (lol so vintage), SwiftUI, and Selenium.

Braiding a Linked List
I drew these linked list comics for my CS106B section this quarter. The problem asks students to write a function which takes in a pointer to a linked list and return a new linked list with the reversed list weaved into the original.