In roughly reverse chronological order.

Simple Interpreter in Go

Tools/Languages: Go

A simple interpreter written in Go for a toy language. Supports data structures like integers, booleans, strings, arrays, and hashmaps; prefix, infix operators; index operators; conditions; global and local bindings; first class functions; return statements; and closures. Code based on this book.

Code | Blog post

N Chainz: Decentralized Cryptocurrency Exchange

Tools/Languages: Go

A high performance, decentralized cryptocurrency exchange written in Go. Worked with Nick Egan and Ryan Senanayake. N Chainz’s features include block generation, limit orders, and the ability to trade a base token with another token. Our team was one of the winners in the Binance Dexathon competition.

Code | Website | Paper

Optimizing GPU-based database algorithms

Tools/Languages: CUDA, C++

As part of the MIT CSAIL Database Group. Microbenchmarking newer generations of NVIDIA GPUs, including GeForce GTX Titan X. Modeling page table structure and TLB misses. Developing and optimizing performance of GPU-based database algorithms. Worked with Anil Shanbhag and advised by Professor Sam Madden.


(Work mostly in private repo.)

Fault-tolerant k/v service

Language: Go

A fault tolerant key/value storage system. Specifically, a key/value service on top of Raft, a replicated state machine protocol. Code not posted because this is a MIT class project (6.824: Distributed Systems Engineering.)

Blog post


I’m posting analyses of papers I’m currently reading. Inspired by The Morning Paper.


Bit rotation

Tools/Languages: C, Valgrind, Gprof

Fast bitarray rotation using bit hacks. Worked with Justin Restivo. Code not posted because this is a MIT class project (6.172: performance engineering.)

Project description | Writeup | Blog post

Quadtree intersection detection

Tools/Languages: C, Valgrind, Gprof

Fast intersection detection of 2d moving vectors using quadtrees. Worked with Erick Friis. Code not posted because this is a MIT class project (6.172: performance engineering).

Project description | Blog post

Serial dynamic memory allocator

Tools/Languages: C, Valgrind, Gprof

Fast, space-efficient, general purpose, single-core memory allocator. Worked with Anthony Liu. Code not posted because this is a MIT class project (6.172: performance engineering).

Project description | Writeup | Blog post

Firebase backend plugin for Mavo

Tools/Languages: JavaScript, HTML, Firebase

As part of the MIT CSAIL Haystack Group. Implemented Firebase backend plugin for Mavo web framework. Mavo adds data editing and spreadsheet-style formulas that permit the construction of full-fledged applications in a single HTML document. Worked with Lea Verou and advised by Professor David Karger.

Code | Firebase presentation | Blog post | Mavo

Swift projects

Tools/Languages: Swift, Xcode, Firebase, EventKit

Miscolor app: Code | Blog post

PlanForMe app: Code | Blog post

Related blog posts: WWDC 2016 | WWDC 2015 | Messages framework


Tools/Languages: JavaScript, HTML, D3.js, SQL, Python, Express, Node.js

As part of the MIT CSAIL Haystack Group. Worked with Exhibit, Datahub, and CTS. Worked with Professor David Karger.

Alan Lomax Exhibit Demo | CTS + D3 + Datahub project | Exhibit stock prices


Tools/Languages: Node.js, Express, MongoDB, D3.js, Google Maps API, jQuery, JavaScript/HTML

Semi-finalist in MIT’s annual Web Programming competition. Worked with Leigh Marie Braswell.

Final website | Competition website | Blog post | Code


Tools/Languages: Python, SQL, AngularJS, jQuery, JavaScript, HTML

As part of the UW Networks Lab. Built a social web app on top of freedom.js, a decentralized P2P web framework. Worked with Will Scott, Raymond Cheng, and Bonnie Pan, and advised by Professor Tom Anderson.

Code | freedom.js | Blog post

D3.js interactive visualizations

Tools/Languages: Javascript, HTML, D3.js

Movie Sieve: Code | Blog post

Celebrities’ Influence: Code | Blog post


Tools/Languages: Java

I built a basic natural language parser with two friends. Our agent can understand and execute commands, remember past data while it responds to the current request, and ask clarifying questions.



I’m currently a senior at MIT studying computer science (6-3) and math (18). Some of the areas I’m especially interested in are data infrastructure and analytics, distributed systems, and combinatorics.

In my free time, I enjoy hiking, watching movies, reading, spending time with family and friends, traveling, and playing squash.

I’m from Redmond, WA, but have also lived in Bellevue, WA, Ottawa, ONT, Vancouver, BC, Exeter, NH, and Cambridge, MA.


Other places you can find me are on my blog, Github, or LinkedIn.