My Projects

I've built a few side projects in the past few years while I was not doing research, working on my startup, or school. I plan on adding more here frequently.


Small World

May 2026

Built a deterministic Small World game engine and MCP server to test whether language models can derive long-horizon strategy from a ruleset. I ran matched-seed games between identical Sonnet 4.6 agents, then added a lightweight expand/decline decision template that improved decline timing, reduced zero-conquest turns, and compressed score variance.

Small World agent game replay

Character Prefix Conditioning

September 2025

Implemented the CPC algorithm from Cursor that states we must sample from a language model given a character prefix.

Character Prefix Conditioning demo
  • Built a character prefix trie and added a logits post processor that masks tokens outside the valid prefix chain on every sampling step (walk back - sample forward).
  • Created an interactive Modal deployment so anyone can try CPC from a Modal container (it is almost Cursor Tab speed on an H100); source is on GitHub.

GPU Puzzles - C++ Edition

December 2023

I created a C++ version of Professor Sasha Rush's GPU Puzzles. These puzzles were originally in Numba, but I converted them to C++ kernels and wrote the kernel invocation block. These puzzles consist of common building blocks such as prefix sums, 1d and 2d convolutions, and matrix multiplication.

GPU Puzzles Image

GPTHunt

October 2023

I created the ProductHunt for GPTs. Users can list and upvote their favorite GPTs. I believe that this method of searching for and ranking GPTs is better than a generic store, considering that GPTs are much easier to build than apps or products. This was more for me to learn how to build a web app with auth and storage.

GPTHunt Image

Duke Organizations

2020-2024

  • Duke Innovation Studio: First cohort and advisor to Kora, a medical device company building surgical lamps and tools
  • Duke BMES: Industry and Alumni Lead - organized a panel for students to talk about summer internships in tech and consulting
  • Duke Science Olympiad: Event supervisor and test writer

LectureChat

October 2023

I built an app that allows anyone to upload a lecture video in any language and talk with it in any language through voice and text. The app uses AI to generate a transcript in the native language and then allows the user to pick any language to translate it into. Furthermore, the AI creates quizzes based on the transcript in any language and interacts with the user via text and voice. Project submitted to Duke Generative AI Hackathon. Built in 2 days.

LectureChat Image
  • Built using NextJS, Deepgram's speech-to-text APIs, OpenAI's GPT-3.5, and Redis
  • Built with Cursor and GPT-4 assistance for hackathon speed

Body Part X-Ray Classifier

2022

I created a classifier for body part X-rays (using a CNN). It contained 22 classes of body parts and a massively imbalanced dataset, so we reduced the amount of data for over-represented classes. The goal was to analyze the convolution layers of the CNN to determine the types of filters (low-pass, high-pass, band-pass, band-stop, etc.).

CNN Image
  • Built with PyTorch, simple CNN with a few convolution layers, max-pool, and Adam optimizer
  • Analyzed the resulting trained filters to see what types of filters were learned