Projects

Vid2Doc

Nov '23

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


Medical Records Summarizer

Aug '23

A tool to summarize medical records for personal injury lawyers using LLMs. Built in a team of 2.


Charty

Jul '23

A new kind of dashboarding tool in the world of LLMs. Built in a team of 2.


Pensieve

Jun '23

An app for taking photographic notes. Built in a team of 2.


Carta-Svelte

May '23

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

Mar '23

An AI assistant to schedule events and respond to emails.


Wordle Solver

Jan '22

A simple solver for the game Wordle.


Computer Vision

Feb '21 - Mar '21

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

Aug '20 - Mar '21

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

Jul '20

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

May '20 - Jun '20

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

Apr '20 - Jun '20

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

Feb '20 - Mar '20

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

Jan '20 - Mar '20

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

Sep '19 - Dec '19

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

Sep '19 - Dec '19

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

Feb '19

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

Oct '18

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

Sep '17

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

Sep '17

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

Apr '17

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.


Tetris AI

Mar '17

A Java Tetris-playing AI for a class project. We combined a genetic algorithm, particle swarm optimization, and multithreading to build an agent that cleared over 2 million lines. The code is here.


TweetBattle

Sep '16

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.


Tetris

Mar '16

An HTML5 Canvas Tetris clone that I built on the side. The code is here, and the game is playable 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.