Vid2Doc
A tool to generate product documentation from demo videos. Built in a team of 2.

Medical Records Summarizer
A tool to summarize medical records for personal injury lawyers using LLMs. Built in a team of 2.
Charty
A new kind of dashboarding tool in the world of LLMs. Built in a team of 2.
Pensieve
An app for taking photographic notes. Built in a team of 2.
Carta-Svelte
A website that used LLMs to generate summaries over all reviews for classes at Stanford. It reached 500+ users and was built in a team of 2.
AI Executive Assistant
An AI assistant to schedule events and respond to emails.

Computer Vision
Worked in a team of 3 on the project for a class on 3D reconstruction and recognition. We explored different approaches to video depth estimation, 3D reconstruction, and depth estimation.
Noyce
Worked with a friend to build a better tool for remote work and socializing during the pandemic. There is a website and a Notion doc explaining how it works.
Ray Tracing
I got excited about ray tracing and spent part of a July 4 weekend building a ray tracer in Rust, following Ray Tracing in One Weekend. The code is here.

Natural Language Understanding
Worked in a group of 3 on Visual Question Answering as part of the project for Stanford's NLU class. We experimented with models including VisualBERT and ViLBERT.

Compilers
Worked in a team of 2 to build a compiler for the COOL programming language, including lexing, parsing, semantic analysis, code generation, and a little optimization.

Natural Language Processing
Worked in a team of 2 on code autocompletion as part of the project for Stanford's NLP class. We tried to train this paper on datasets containing code snippets.
Operating Systems
Worked in a team of 2 to implement core functionality for the Pintos operating system as part of Stanford's operating systems class. We designed and built a virtual memory system, a file system, various system calls, and different thread scheduling algorithms.
Meta Learning
Worked in a group of 3 to devise a modification to the MAML algorithm for multimodal task distributions. The code and report are here.
Programming Languages
As part of Stanford's programming languages class, I worked on 9 assignments across the quarter. Highlights included an OCaml interpreter for a typed extension of the lambda calculus, a simplified TCP implementation in Rust, an implementation of futures in Rust, and automated proofs for an arithmetic language in Lean.
NUSclassBot
We built a bot for collecting tutorial attendance using the Telegram API, Google Sheets API, and Redis. The code is here, and a modified version was used to collect attendance for a class with over 500 students.

Deep RL: Breakout
As part of a group project, we explored and compared different deep reinforcement learning methods for Breakout. I worked on policy gradient and actor-critic approaches, and we implemented and evaluated them in TensorFlow with OpenAI Gym.

Distributed Maze Game
A distributed maze game that allowed users on multiple machines to play against each other. It was built for a distributed systems class, and I implemented sequential consistency and fault tolerance.
Labelled Faces in the Wild
A convolutional neural network for a class project on a subset of the Labelled Faces in the Wild dataset. We applied data augmentation, automated hyperparameter tuning, and explored the use of the FaceNet architecture. The code is here.
MIDIchlorians
An iOS app that lets you customize musical tracks and augment them with effects. It was built in a group of 4, won the Best Project Award at the NUS School of Computing Term Project Showcase, and the code is here.
TweetBattle
A web app that took in two Twitter handles, fetched their tweets, and used a Markov model to generate a side-by-side verbal battle. It was built at a hackathon in a team of 4. You can try it here and view the code here.
Additional Projects
Other school projects include a simple HTTP server, a reliable file transfer protocol over UDP, a simple shell, and simple search engines based on the vector space and boolean retrieval models.
Other personal projects include an iOS app built with Firebase to connect people with similar interests for events, a simple IMDb scraper, and a simple blog built on the LAMP stack.















